Разделить неправильный цилиндр на сегменты равного объема
Мне было интересно, есть ли у кого-нибудь идеи, как решить эту проблему.
У меня есть "неправильный" (то есть диаметр не постоянный по длине) цилиндрический объект в 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] - средняя точка.