generative modeling for Rhino
Sounds an interesting challenge. I wonder if perhaps some self-organisation could be applied here,
something like the examples shown here:
So you would make lots of these 3 different types of triangles all spaced apart, then let them drift and stick together.
Though it would take something clever to make sure they produced an actual surface, not just a big bundle of triangles.
Another option that I think might work quite well would be to start with a triangular mesh (just a regular one, or arbitrary edge lengths), and then set all the edges as springs with rest lengths randomly picked from one of 3. Then when you knock it slightly out of plane it should buckle and crumple up into an interesting form
Here's a quick test of that second option -
Every edge in an initially regular triangular mesh is randomly assigned a rest length of either 3, 4, or 5 (so I guess there are 10 triangle types)
It crumples up as soon as you start the relaxation, and quickly finds a 3D form which allows it to meet those edge lengths.
On average it will be flat though, because of the regular topology. To give the form some global curvature, you could start from a mesh with some singular vertices (eg a few points with only 5 edges connected)
thank you so much for your answer! After a quick reading I am still not really sure if I umnderstand completely everything properly...still struggling a little with the relaxation of the example file you've sent, but I'll take some time to figure it out. I am also not sure what exactly is meant by the singular vertices to make the mesh "dome like". Do you mean something like fixing just a few edges to the ground to make it go up?
thanks again, I am actually very honoured to discuss my work with you...
Because the average angle in this mesh is 60° (because the interior angles of any triangle sum to 180°), if you have 6 triangles around every vertex, then the angles around each vertex will on average sum to 360°.
The amount the angle around each vertex differs from 360° (the angle defect) is what gives a mesh overall curvature. In fact, there is a direct relationship between the global topology and the total angle defect. For any mesh which is topologically a sphere (meaning it has no holes or handles, so a cube for example) the total angle defect will always add to 2*360° = 720°.
For example, each of the vertices of a cube is surrounded by 3 90° angles, so is 90° short of 360°. There are 8 vertices, and 8*90° = 720°
Or an icosahedron is 60° short at each of its 12 vertices and 60*12 = 720. In the case of a geodesic sphere, the triangles are subdivided, so most vertices end up surrounded by 6 triangles, but the 12 singular vertices with only 5 triangles around them still remain. Because it is smoothed into a sphere by projection, the angle defect of a geodesic sphere gets 'spread out' from these singular points, and as finer and finer subdivisions are used, the surface gets closer to being locally smooth, ie the angle defect at every vertex approaches zero. But of course finer subdivisions means more vertices, and remarkably, these 2 effects always perfectly cancel each other out, and the total of all these many tiny angle defects will always still add to 720°.
Anyway, I'm getting carried away :) I love this stuff...
The point is, that to make it form a dome, you should start with a mesh with some singular vertices (say 6 which are surrounded by only 5 faces). Easiest way to do this is probably to start with half an icosahedron and use WeaverBird's Split Polygon subdivision on it.
THANK YOU, alright...so if I somehow manage to do this, will the final curvature of the pavilion be uneven? because that's exactly what my aim is...3 or 4 different sizes of laths used to build up a temporary construction, which would also be able to grow...depending on the amount of people coming there...something like a parasite or whatever...it would also be excellent if the given sizes of laths could be used for building the interior...eg. 45cm lath...sitting...150cm...bar table...and so on...
I assume that these kind of questions must bore you, but I am still a beginner in this...but I really appreciate your responses.
so would it also be possible if I create a grid, like the one you did, only with a few "pentagons" inside, to make it go up?
or maybe creating an icosahedron first, then using the weaverbird split polygon subdivision to make a grid on its faces and then run the relaxation with the parameters of fixed lengths created before? Am I following you?