Hi! I need help for the following problem: I need even-size Voronoi on surface morph
I have some Voronoi in a rectangle, and I now move it to a surface using surface morph. The problem is, this surface is curved, so in some places, Voronoi is big, and in other places, Voronoi is small (in the Voronoi I start with, they are similarly sized).
One idea I have:
Of course, if I have rectangular grid, I know there is definitely going to be big rectangle and small rectangle in surface morph.
But I see that in Voronoi, we can change size of Voronoi. Is there any way I could get such Voronoi result so that: if I know region A of the Voronoi I start with is going to become big, I make it dense and small, so the resulting surface morph just have similarly sized Voronoi throughout.
Thanks so much!
Hello
Please upload your file with internalized geometry.
1 Like
Please find it here! In this example, the problem happens where the surface starts bending (convex, I think?). The Voronois get bigger. I’m looking for a way to make it so it is more evenly sized
voronoi_problem.gh (30.2 KB)
This file doesn’t appear to contain the surface in the original post?
My first guess would be to more evenly distribute the points on the destination surface, probably with
a circle packing algorithm with Kangaroo, then sporph the points on to a planar surface, then do your voronoi/extrusion logic from there.
1 Like
Indeed I’m not sure about the base surface, anyway if you want precision the idea from @richard.aubin above is a great solution.
A bit more direct would be to use Populate3D
and Voronoi3D
to get the cells directly on the curved surface. I tried it with a quite curved revolution and the cells seem to be good enough.
voronoi_problem.gh (33.9 KB)
sorry about that! after closing the file and reopening, my grasshopper is stuck so I had to try recreate the situation by hand-making new example
Thanks for your help!
Thanks very much! I am working on it now
My surface is (fortunately?) 4-sided. The problem with the shape is, if you stretch a rectangle to fit it, some parts is stretched out (bigger voronois) than others (normal or smaller voronois).
I will post again to show where I got!
@richard.rubin @magicteddy Here’s what I have. Could you please take a look?
(I use a better surface, where some places are much more convex than others, to show the problem)
I notice that when I morph the points from surface to plane, they are all gathered in one corner of the plane. So when I morph the voronois back to the surface, it actually gets worse (more uneven distribution)
(I tried reparametrizing the surface, but that results in morphed points floating in the air, rather than on the surface.
In my method, I plan to do some more operations on the Voronoi, like extruding, which I need z-direction information for. It seems that it would be easier to do it on planar voronoi, hence why I now try to use the bounding box method
voronoi_problem-magiceddy230510.gh (139.5 KB)
Use Sporph
instead of Surface Morph
.
Or offset the Brep directly ?.
voronoi_problem-magiceddy230510_sporph.gh (127.4 KB)
1 Like
Thank you so much! The results are really good!
I didn’t know there’s a second option to ‘surface morph!’