algorithmic modeling for Rhino

culling points from mesh, selecting only center point from each hexagonal groups

I developed a modular assembly which i can plug into hexagonal or square grid. attached image shows a mesh I designed using rhinovault from the block research group, which computes a vault from a given footprint. I am using the mesh vault as a reference surface for the modular assembly.

highlighted in the center is what I need to achieve.. the white circles shows, for example, the points I need to select in order to apply my modules to the reference mesh, from which i extract datascape (for example, this gradient is an evalution of the slope) in order to modulate the modules. 

I am using culling pattern and pointlist to figure out if there is a correct boolean pattern to do this... but I am thinking there must be more intelligent way to do this. Does anyone know if this topic has been covered? I will post my attempt tomorrow. 

Thank you in advance.


Views: 4121

Replies to This Discussion

...well you got me going down a bit of a rabbit hole here.  It's actually fairly direct to read the relationships in the mesh vertex topology to chain together alternating hex centers.  It works very well in a regular hexagonal mesh:

In this image, edges are restricted (green), hex centers are red, and interstitial hexes are blue.  These were organized not according to input data orders, but purely by looping through the mesh topology to identify patterns in the connections.  I also ran it through on a highly irregular mesh...I was curious to see what would happen when the hexagons were broken up by other vertex counts...basically, in order for the pattern recognition to work, non-hexes and their adjacent vertices needed to be treated as naked edges.  Here's the result:

In this case, the lighter blue reflects unassigned vertices...basically, the search algorithm (which relies on matches already made) gets blocked by the irregular nodes.  So it works in many of the regular patches of the mesh, but gets blocked where the geometry demands something other than a hex.  And yet inside of some of these patches are whole regions which look like they could be what's next perhaps is to work the script so that it looks beyond the edges that have already been rationalized and checks to see if there are any more patches available...will have to puzzle with that one a bit.  But a good fun rabbit hole it is!  Attached is the script...


Hello David Stasiuk, 

Did you do this script and every thing five hours? GOOD FOR YOU! and your example is a highly irregualr true :) kudos for refraining from "very complicated" even when you are working with something like that... 3d voronoid to curves then weaverbeard or t spline magic perhaps? ah maybe some kangaroo mesh relaxation in the end... sorry I digress. 

I am taking a look at what you attached now. Thank you for sharing and please allow me sometime to imagine what it could also do...  I do have to apologize for not telling the whole story but I hope to share the whole story soon :)

If I understand correctly - you have a triangular mesh, from which you want to extract a tri-hex pattern (similar to here)

Here's one approach (making use of the dual component I posted previously here):

Hello Mr Piker, here is a little clearer explantion of challenge I am facing with some diagram. 

first of all, I was confused that i was a triangular mesh, but its actually a quad mesh. 

as shown in the below diagram, Mr Stasiuk has done phenomenal work sorting points from a hex-grid based triangular mesh surface to naked edges, as well as center points of hexagons within what you call tri-hex pattern. (the image on the top left).

What my challenge is I have an input surface that is made out of quads, but divided to triangles. out of this mesh, I need to establish hexagonal CELLS, meaning closed polylines. Acutually, I don't even need polylines or lines, I am just trying to get the points sorted so that vertices for each hexagons are in their own group, as you can see in the diagram top middle, the one with three hexagons in different colors.

this is because I am using a modular idea that requires layering hexagonal grids over each other, one layer of hexagonal grid centers my module, other layers keep my hexagonal spaceframe elements in relative proportion as I manipulate/change the reference mesh - in terms of global/local mesh resolution, and curvature in relation to multiple performance criteria.

I am trying to keep the quads becasue I need to apply annual solar radition analysis from DIVA which are 20k + points with assigned values (two images with blue and yellow dots - btw, little buggy at the moment) to evaluate geometry and apply changes to a module I have designed.

I have about six different designs I would like to evaluate in multiple performance criteria that has the same quad-mesh geometry. (its from rhionvault - I would rather build my own definition for form finding but for now I use the block research group plug in) Anyways, I havent figured it yet and I am really eager to try to solve this myself. My next post will be a solution, I hope :)






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service