volume tessellation with spheres

4 vues (au cours des 30 derniers jours)
bob
bob le 1 Oct 2013
Commenté : Cedric le 4 Oct 2013
Hey guys,
I have some irregular-shape particles as stl. What I need to do is to fill the volume with regular array of spheres, like cubic array. Having a control on the size of filling spheres (which is the same for all the spheres) will be useful.
Any idea?
  7 commentaires
bob
bob le 3 Oct 2013
no, I'm not. But let's say I got it. The main thing is still there.
Cedric
Cedric le 4 Oct 2013
Modifié(e) : Cedric le 4 Oct 2013
No, assume that you've got it, then you build a regular lattice of sphere centers, which is a basic array of 3D coordinates that covers the extent of the particulate. This is easy to do as it is a rectangular volume (framing the original particulate); assuming that you have your STL nodes coordinates in a nx3 array named nodes, you'd do something like
r = .. ; % Spheres radius.
mins = min(nodes) ;
maxs = max(nodes) ;
[X,Y,Z] = ndgrid( mins(1):2*r:maxs(1), ...
mins(2):2*r:maxs(2), ...
mins(3):2*r:maxs(3) ) ;
centers = [X(:),Y(:),Z(:)] ; % If needed, but you might be
% able to work directly with
% X, Y, and Z.
I didn't read the description of the FEX function written by Sven, but assuming that it works on arrays of points and with a non-convex polyhedron, basically the next step is just to submit the internal buffer STL and the array of centers to know which ones define spheres inside the original particulate.

Connectez-vous pour commenter.

Réponses (1)

Sean de Wolski
Sean de Wolski le 1 Oct 2013
The cellphone tower optimization problem solves this as a constrained optimization with circles inside of a square. I would recommend starting with this and modifying it to be three dimensional with irregular boundary constraints.
  2 commentaires
bob
bob le 1 Oct 2013
Good idea! OK, I give it a try.
Thanks
Sean de Wolski
Sean de Wolski le 1 Oct 2013
Thinking about it some more, I'm not sure this will work with a non-convex shape...

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by