1

I was wondering if someone has any ideas how to solve this problem.

I have an "irregular" ( meaning diameter is not constant along the length) cylindrical object in 3D. I would like to subdivide this into smaller segments (length-wise) with equal volume. Any algorithms for such thing ?

Thanks

user1301295
  • 674
  • 1
  • 6
  • 15

1 Answers1

1

This is just telling you how to integrate triangular mesh based cylinder integration.

Let Z be the lengthwise coordinate of of all vertices in the cylinder. Sort Z and remove duplicates.

Now, between every z[i] and z[i+1] the cylinders cross area either increases or decreases uniformly. Therefore volume between those two cross sections is = (A[i]+A[i+1])*(z[i+1] - z[i])) where A[i] is the area of cross section at length z[i].

So, total volume = \sum (A[i]+A[i+1])*(z[i+1] - z[i])) for i=1..(n-1)

Let V[i] be the volume between z[i] and z[i+1]. Let 2W be the total volume of the cylinder.

Initialize U=W and for every i subtract U by V[i] if U>V[i]. Otherwise: z* = Z[i]+ (V[i]-U)*(z[i+1]-z[i])/V[i] is the mid-point.

ElKamina
  • 7,747
  • 28
  • 43