algorithmic modeling for Rhino

I've just posted a new article about something I've been working on recently:

I'm quite excited about this step forward, as I think dynamically changing topology is going to open up a lot more possibilities for interesting ways of using relaxation/optimization.

Views: 16743


You need to be a member of Grasshopper to add comments!

Comment by Daniel Piker on February 21, 2013 at 9:17am

Hi Sam - thanks for the comments.

I actually tried a few different conditions for the edge-flip, including the valence based one in that Berlin paper. Intuitively it makes a lot of sense, but somehow I couldn't actually get it working to give good results, so ended up basing the flipping on edge lengths. I think one could experiment a lot with varying the conditions for this for different results.

(as I mentioned : "I could also vary the remeshing rules depending on whether the priority is regularity of geometry, or regularity of connectivity. For example, on a sphere, a geodesic dome has a small number of irregular vertices (this is sometimes referred to as a semi-regular mesh), but a fair amount of variation in edge length, whereas solutions to the Thomson or Tammes problems reduce the variation of distance, but have larger numbers of irregular vertices.") 

Regarding meshing when you just have a set of points to start with - It's an interesting problem, and would be good to combine with the remeshing because it allows changes in the global topology of the surface, such as blobs merging and splitting. Maybe constant remeshing through flip/split/collapse, with the occasional meshing of the points from scratch could work.

btw - There is a nice tool in the new WeaverBird that can turn a set of lines (eg the proximity lines between the points) into a mesh.

However, I think using something like alpha shapes could be a good way to go (or the closely related ball pivoting algorithm, recently described rather nicely by Nervous System

I'd been a bit caught up in other things recently, but you've reminded me how much I want to get back into this, and hopefully get something out there for people to experiment with, ideally properly integrated with Kangaroo...

Comment by Sam Gregson on February 21, 2013 at 4:44am

Interesting and what a great use of grasshopper. Thanks for sharing Daniel.

Just thought I'd have a go at trying to reproduce something similar, I think I have got the split and collapse sorted... (and relaxation thanks to kangaroo)

Just curious to know what the conditions for an edge flip are? Is it based on valency of the vertices (as suggested in or are they bistellar flips as mentioned in the meshmash article? Do these more or less amount to the same thing?

Any response from anyone much appreciated,



Re. Alexey: Yes I found that difficult when approaching meshes in that way. Daniel Piker attempts something similar in this example adding: "The particles are then connected according to proximity, the triangles in this graph are found and a mesh is drawn (Still a few issues with this step)." Don't know if anyone else has any answers?? The difficulty with this probably justifies starting with a triangulated mesh and remeshing to tidy it up (via mesh relaxation, edge collapse, edge split, edge flip for example) as is the intention of the above article!  

Comment by asaf yaacobi on September 23, 2012 at 12:06am

can u guys share a basic def to learn this?

Comment by Andrew Kudless on September 22, 2012 at 9:53pm

This is exactly what is needed. Thank you Daniel! I look forward to seeing this in a future release. 

Comment by Michela on September 22, 2012 at 3:38am


Comment by Wieland Schmidt on September 21, 2012 at 5:09am

Thanks Daniel, great article indeed. Are you planing to build a form finding tool out of this? I would love it! 

Comment by Ivan Kiryakov on September 21, 2012 at 3:52am

thank you for the great post





  • Add Photos
  • View All


  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service