Grasshopper

algorithmic modeling for Rhino

help with similar-edge-length hexa-meshing (with the occasional penta/heptagon thrown in)

Hey, guys, here is what i would like to do...

Reading this article of Daniel, i get that you can populate all sorts of freeform shapes with somewhat-regular hexagons as long as you throw in some pentagons and heptagons in critical places

http://spacesymmetrystructure.wordpress.com/2012/09/20/meshmash/

What i would like to do is the following: starting from a nurbs surface, i would like to get a hexagonal grid pattern that follows the surface. I Would like the generated edges  to be as close in length as possible, while the surface can have pentagons/heptagons wherever necessary.

Any help would be greatly appreciated

Thanks for taking the time and have a nice one!

Views: 1089

Replies to This Discussion

Hi Andrei,

I recently posted a script that uses Plankton and Kangaroo for remeshing:

http://www.grasshopper3d.com/group/plankton/forum/topics/dynamic-re...

While it is actually trying to get equal length edges in the primal(triangular) mesh, the edge lengths of the dual(predominantly hexagonal) also tend to get more even.

Thanks, Daniel! I managed to install plankton and check out the demo in your link. Not quite sure though how i can do that edge flipping thing that turns triangles into (maily) hexagons, that you talk about in the MeshMash article (i looked around a while but with no luck yet)

You need to convert the mesh to its dual

I posted a component for this here:

http://www.grasshopper3d.com/xn/detail/2985220:Comment:558044

Weaverbird also has a dual component.

Also, cytoskeleton has a toggle to convert a closed mesh to its dual before thickening:

http://www.grasshopper3d.com/group/plankton/forum/topics/cytoskeleton

Hey, thanks for pointing all these out! (Ps: love the cytoskeleton, although i tried inputting the mesh from the Remashing exampe and it gave some error, but that's another discution)

I would have another question, if you don't mind.. I am curios if there are settings that can be tweaked in order to reduce the number of non-hexagonal polygons that i get after applying the dual component. As you can see in the attached picture, there are quite a few of these and i am inclined to think this can be optimized without changing the shape (at least not dramatically), so that non-hexagonal polygons appear only where they are really necessary

Thanks again for the great support!

Attachments:

One way to do what you describe is to use a larger edge length for the remeshing, then subdivide the resulting coarse mesh (because subdivision does not introduce any new irregular vertices). You can then pull this subdivided mesh back onto the target surface and relax the edge lengths (using standard Kangaroo components).

Also - the improvement to the remeshing script I posted here:

http://www.grasshopper3d.com/xn/detail/2985220:Comment:997587

will help a bit too, as it handles boundaries better.

Something to be aware of generally though - minimizing edge-length variation does not also minimize irregular vertices.

For example you could have a geodesic sphere based on a tetrahedron, with only 4 irregular vertices, but the edge lengths would have to vary more than one based on an icosahedron, with 12 irregular vertices.

I had been looking at another local remeshing routine aiming for minimizing irregular vertices, but it is a work in progress.

Ok, thanks, Daniel, I'll look into those

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service