Get the Volume of Intersection Between Two 3D Shapes?

35 visualizaciones (últimos 30 días)
Naveen Pillai
Naveen Pillai el 6 de Nov. de 2019
Respondida: darova el 6 de Nov. de 2019
The shapes I have in my mind are rather simple (cuboids and cylinders) [and I know I can hard code a way to get the intersection volume of cuboid, but cylinders seem to be a little harder, and hard-coding may not be time efficient. The cylinders are specified by: a centre [x,y,z]; radius; half-length; and axis vector (e.g. 1 0 0, 0 1 0, 0 1 1). The cuboids are specified by: a centre [x,y,z]; half_length_x; half_length_y & half_length_z.
What I want to get is, with two of these pre-defined shapes input as above, the volume of intersection in m^3 (say 1 unit = 1 m) of the two shapes.
  2 comentarios
darova
darova el 6 de Nov. de 2019
Do you have a drawing how it should look like? Do you have your attempts? Code?
Naveen Pillai
Naveen Pillai el 6 de Nov. de 2019
Editada: Naveen Pillai el 6 de Nov. de 2019
I've attached a couple drawings. I guess I'm not looking for a brute force answer as much as a way to use inbuilt functions - something like this.
i) Define the shapes in 3-D space
ii) Overlap/Intersect the two shapes to get a new shape (as in the first figure)
iii) Get the volume of the new shape
The second figure (with the mesh) has what I'm actually trying to do. The yellow cylinders have different weights that will be attached to their volumes, while the red region (cylinder) will be cut out of all yellow cylinders (but the green region, also a cylinder, needs to be added back in).

Iniciar sesión para comentar.

Respuestas (1)

darova
darova el 6 de Nov. de 2019
Use equations to get intersection lines:
Integral can be used to calculate the volume (1/8 of the volume)
and
1233.png

Categorías

Más información sobre 3-D Volumetric Image Processing en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by