algorithmic modeling for Rhino
I've done some research about how to achieve this using various sources online. Mainly:
http://research.microsoft.com/en-us/um/people/yangliu/publication/t...
Ive written a definition that achieves this, only for surfaces that have gaussian curvature != 0. For instance if a point on a surface almost hits the 0, the definition starts doing weird things. In the papers above they solve this by 'skipping' those points on the surface that have GC = 0. This would require some scripting, unfortunatley due to time i havent been able to do this. I was hoping i would write a python script some day, (really optimistic hehe) but i dont see this happening soon.
Although there is a lot of interest in the research and definition I made so i would like to share this with you guys! Maybe with some luck we could fix these bugs and have an awesome def that achieves this!
I've also tried to achieve the same thing using kangaroo see examples below:
https://www.youtube.com/watch?v=wCtnkG1LVFU
https://www.youtube.com/watch?v=WaknpgMgbI4
The first one achieves planarity, the second achieves semi-planarity. As you see in the second video it sometimes gets a little unstable. Especially if you crank up the number of hexagons.
Ill keep you guys posted.
Comment
Still do not understand the logic of the definition but the result looks great!
Interesting research, thanks for sharing.
What kind of fairing forces are you using in Kangaroo ?
Laplacian smoothing or bending stiffness on the interior angles of the hexagons work okay for positive Gaussian curvature, but they prevent the hexagons becoming concave, which as you know is necessary if you want to tile surfaces of negative Gaussian curvature.
Some sort of fairing is definitely necessary in addition to the planarizing, but I think it should be possible to find something that allows concavity. Perhaps aligning pairs of opposite edges on each hexagon - as they do seem to stay roughly parallel in the examples in Wang et al's paper. You'll also need to allow the hexagons to vary in size, so equalization of edge lengths will probably work better than just springs.
It would also be interesting to consider how to throw in the occasional pentagon or heptagon, because this will allow you to tile more topologically interesting surfaces (otherwise you are limited to variations on tubes, planes and donuts). For example, if you try and cover a sphere with just hexagons they have to get infinitely small at some point, but with twelve pentagons you can have fairly small variation in size.
The directionality of the concave hexagons does complicate things though, and it is not immediately obvious how this might fit with some pentagons or heptagons. The papers referenced seem to just avoid the issue and deal only with planes/tubes/tori.
gaussian curvature = 0 is e.g. cylinder (via wikipedia), what youre thinking about is mean curvature, which with value = 0 represents minimal surface. As read on wikipedia : gc = 0 means that 3 angles of triangle on that surface will sum up to pi.
GC = 0...it means this surface is a minimum surface?
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by
You need to be a member of Grasshopper to add comments!