Void Ratio from array of spheres.
Show older comments
Hello,
I have a matrix which contains x, y, z coordinates, as well as the radius of each sphere. Sphere boundaries are rigid so that the shortest distance between any two adjacent spheres is the sum of their respective radii. The spheres are all mixed together and are of varying radii. I would like to calculate the void ratio of this mixture; or the ratio of the volume of void space to the volume of solid objects (spheres).
For example, the first three columns of this matrix are xyz coordinates, respectivly, and the last column is the radius.
xyzr =
-45.1766 -48.5664 0.4843 0.5000
-50.0416 -49.2495 0.4961 0.5000
-47.9513 -47.9333 0.9957 1.0000
-49.9313 -47.3837 1.8390 1.0000
-48.8482 -50.0006 0.9927 1.0000
-49.6122 -48.1071 0.4921 0.5000
-44.6511 -49.4200 0.4985 0.5000
-45.2021 -50.4440 0.4960 0.5000
-50.5025 -49.5157 1.3356 0.5000
-44.7595 -46.8283 4.0392 3.5000
The actual matrix is a 60000x4 double, and the spheres end up being closely packed. I would like to calculate the voids in between spheres, with the top surface being the surface of the uppermost spheres. What I mean is that the volume isn't simply the volume of the box minus the volume of spheres.
11 Comments
darova
on 12 Mar 2020
Do you have any ideas/attempts?
Casey Ricks
on 12 Mar 2020
darova
on 12 Mar 2020
What about this case?

Casey Ricks
on 12 Mar 2020
Edited: Casey Ricks
on 12 Mar 2020
darova
on 12 Mar 2020
So why just substract volume of spheres from bounding box?

Casey Ricks
on 12 Mar 2020
darova
on 12 Mar 2020
What about convhull and alphashape?
Casey Ricks
on 12 Mar 2020
Casey Ricks
on 13 Mar 2020
Turlough Hughes
on 13 Mar 2020
Hey Casey,
Out if interest, how did you go about generating your xyzr data?
Casey Ricks
on 14 Mar 2020
Answers (0)
Categories
Find more on Bounding Regions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!