Разделить неправильный цилиндр на сегменты равного объема

Мне было интересно, есть ли у кого-нибудь идеи, как решить эту проблему.

У меня есть "неправильный" (то есть диаметр не постоянный по длине) цилиндрический объект в 3D. Я хотел бы разделить это на более мелкие сегменты (по длине) с равным объемом. Есть алгоритмы для такой вещи?

Спасибо

1 ответ

Это просто говорит вам, как интегрировать интегральную цилиндровую интеграцию на основе треугольной сетки.

Пусть Z - продольная координата всех вершин в цилиндре. Сортировка Z и удаление дубликатов.

Теперь между каждыми z [i] и z [i + 1] площадь поперечного сечения цилиндров либо увеличивается, либо уменьшается равномерно. Поэтому объем между этими двумя поперечными сечениями равен = (A[i]+A[i+1])*(z[i+1] - z[i])), где A [i] - площадь поперечного сечения по длине г [I].

Итак, общий объем = \sum (A[i]+A[i+1])*(z[i+1] - z[i])) для i=1..(n-1)

Пусть V[i] будет объемом между z [i] и z [i + 1]. Пусть 2W будет общий объем цилиндра.

Инициализируйте U=W и для каждого i вычтите U на V[i], если U>V[i]. В противном случае: z* = Z[i]+ (V[i]-U)*(z[i+1]-z[i])/V[i] - средняя точка.

Другие вопросы по тегам