Grasshopper

algorithmic modeling for Rhino

# Interactive optimizations

Treating geometric contraints as 'pseudo-physical' properties in the new version of Kangaroo.

Views: 644

Comment

Join Grasshopper

Comment by Daniel Piker on April 7, 2011 at 5:16am

Thanks Arie-Willem,

In the upcoming new version I have added the possibility to equalize sets of any number of lines.

I don't want to commit to an exact date for this release right now, but soon.

In the meantime, there is a workaround you can use if all the sets contain the same number of lines - using multiple overlapping sets. So if for example you want to equalize 3 edges - use 3 equalize4lines components with edges (0,1,2,0) (0,1,2,1) (0,1,2,2)

Comment by Arie-Willem de Jongh on April 6, 2011 at 12:34pm

Nice work Daniel!

I reproduced a similar simulation with laplacian smoothing, building upon your conformalize example. The mesh only consist of quads. It works reall nicley! The thing i was wondering how you solved the 'equalaterlize' in your simulation, because the component asks for 4 lines to be equalized and in your mesh that number differs.

Keep up the good work!

AW

Comment by Daniel Piker on March 14, 2011 at 7:01pm

To explain a little what you are seeing -

There are forces trying to 'equilateralize' each individual triangle. In the plane the only way they can do this is by changing size, approximating a conformal mapping.

Most of the vertices in the original mesh are surrounded by 6 triangles, but there are a few special vertices that are surrounded by 5 or 7. These special points strongly affect the behaviour of the mesh, and when one of the constrained points is moved out of plane they cause it to buckle in a particular way (because clearly 5 equilateral triangles will not fit around a point when in the plane - 60*5 < 360).

The amount by which the sum of the angles around a vertex differs from 2*PI (360°) is a discrete version of Gaussian curvature.

If the equilateralization were the only force acting, then all the discrete curvature of the mesh would be concentrated at the special points, but a Laplacian smoothing force spreads the discrete curvature out from these special nodes.

The relative strengths of these forces are adjustable, and you can see when smoothing is low and equilateralization is high, the triangles become closer and closer to identical and equilateral, but they have to crumple to enable this, whereas when smoothing is high and equilateralization is low, the mesh becomes very smooth, but the triangles differ more in size and angle.

by kgm

by kgm

by kgm

by kgm

by kgm

• View All