Grasshopper

generative modeling for Rhino

Trying to adapt the size of the cells to the curvature of the Brep.

http://www.paulericschirrbonnans.com/index.php?/logements/habitat-manimaliste/

Views: 721

Tags: VorPr0n

Comment

Join Grasshopper

Comment by Mateusz Zwierzycki on March 16, 2012 at 7:15pm

there was a video some time ago, where Daniel Piker showed how to make 3d metaball mesh with really nice triangles

Comment by Systemiq on March 16, 2012 at 5:24pm

Yeah that was the first step I encountered problems with, covering it (approximately) with an unique tile is not obvious, as the object is closed, irregular, and made of several surfaces.

I tried to populate it with Hoopsnake but my algorithm isnt working yet.

If I manage this step, your approach with quad tree should work well though.

Comment by Mateusz Zwierzycki on March 16, 2012 at 4:58pm

If you'll manage to obtain your structure made with equal triangles (and if they dont need to have good seams its possible i.e. by reorienting one triangle to each face of your structure converted to mesh), quad tree logic would be pefect. Just imagine :

random point searches for closest triangle - then check curvature of your solid in that place

if curvature is larger then given value then split it(thats quad tree logic part) like wbSplitPolygons

reorient triangles obtained by spliting to point on mesh closest to each triangle i.e. center

I will do it myself, but as usual there are a lot of things to do before.

Comment by Mateusz Zwierzycki on March 16, 2012 at 3:30pm

http://www.grasshopper3d.com/forum/topics/kmeans-1?commentId=298522...

You can use kmeans if you have irregulary divided solid and you want every panel to be in 1 of 3 sizes. If they are rectangular, you can easily manage to do it without any advanced mathematics (like I did), because you will operate only on 2 dimensions.

But Iam not 100% sure about effect of this in your case.

Comment by Systemiq on March 16, 2012 at 2:32pm

Thanks Mateusz, your suggestion about quad trees (Octree in this case) gave me a nice direction to follow.

What do you mean by kmeans rationalization ?

Comment by Systemiq on March 16, 2012 at 2:21pm

I forgot to say that the tiles dont have to match exactly, what I am looking for is something like that :

Of course, an exact tiling would be a nightmare, and impossible with fixed sizes.

Comment by Mateusz Zwierzycki on March 16, 2012 at 2:03pm

"Now the goal would be to make this with tiles of fixed size and shape (1 shape and 3 sizes ideally)."

You want to have 3 tiles that would never mismatch neighbours edge ? I saw planar , non uniform tilings (with different n-gons(who doesnt ?)), but I dont even imagine doing that withfixed size and shape tiles. But if you dont care about seams, Quad tree is the one I would bet. Maybe not exactly quad tree (rectangular) but same logic.

It would be even easier to do it with 3 different circles. And kmeans rationalization.

Comment by Systemiq on March 16, 2012 at 1:11pm

It is just 3d Voronoi, intersected with the object. If the intersection is not planar enough, more points are generated locally and here we go again.

My computer is really not great, what is really needed is RAM and patience.

Now the goal would be to make this with tiles of fixed size and shape (1 shape and 3 sizes ideally). Much harder.

Comment by Michael Pryor on March 16, 2012 at 12:20pm

what kind of computer you using to process this awesomeness?

Comment by Mateusz Zwierzycki on March 16, 2012 at 11:39am