algorithmic modeling for Rhino
Dear all,
I am trying to make a movable model, a geometric system of 19 cubes attached by corners (image attached). Based on the Ron Resch model shown in his film http://youtu.be/imlMspPKfNo?t=19m10s
Depending on the angles the cubes are moving, the system changes. Is there a way to keep the cubes attached by their corners independent to the roation angle? I will appreciate any helpful ideas.
Cheers,
A.
Tags:
Can you upload the .gh file please? It's difficult to follow the printscreens, but as a suggestion, your motion vector should be based on the size of your boxes.
JAM.d
Hey Agi,
I thought I showed you this before? I have attached a file with how you should do this. No need for Kangaroo.
As a piece of advice, when you upload massive definitions like this, identify the issue more specifically, and label and organize your .gh file otherwise everybody will be lost. use diagrams, printscreens to make things easier for people to help you out.
Re. your question, as I told you before, a good idea would be to break down your problem into elementary components and understand the principles of the system. (work it out for two cubes first and then work your way up in small steps) In your case:
- notice the angles of the cubes in the same horizontal layer are identical. also notice the difference in angle between consecutive layers. what is the relationship between them?
- and notice how the cubes in a layer get closer as you rotate them. there is a relationship between the rotation angle and the distance. find it out with trigonometry.
It's all in the definition I attached . The next step is very easy: just copy the system on the z axis as many time as you want. And then figure out how to rotate it in a vertical plane as well.
JAM.d
Because you are using a different range for your angles. In my example I limited it between -pi/4 and pi/4 (-45 to 45 degrees). If you push it beyond that, to pi/2, they are going to overlap of course!
If you change your slider only between -pi/4 and pi/4 it will look the same. Nothing wrong with the definition.
JAM.d
Agi,
Best way to check if a solution is correct is to try it out.
But I don't quite understand what you are trying to do? The relationship between the angle and the distance between the cubes is already figured out in my definition:
G = cos(a) * L;
G=spacing between cube centres; a=rotation angle; L = cube edge length
so if rotation is 0 then the spacing is equal to the edge of the cube (cos(0)=1)
for a pi/4 rotation, spacing will be L*cos(pi/4)
You can figure out this relation by doing the next layer - it's not a consequence of the trails that you mapped.
JAM.d
Nice diagrams Agi but need to know a bit more to reply to that:
Do you mean keep two points at the same distance while moving them along a circle?
Then you just need to define the angle between the two points and the centre of the circle and rotate that resulting triangle from the centre like the diagram below?
Agi,
I think you are over-complicating things!! In my opinion, your change of approach is not easier, it just looks like it for the first iteration.
My advice: go back to the original exercise, where you saw that the cubes rotate in opposite senses: clockwise and counterclockwise in consecutive layers.
What you need to map is the change in position of the centres of the boxes and find the rule for it (!!). Mapping the trail of the vertices is not an ellipse, but something close to a cycloid, and good luck resolving that! Use a module of two adjacent cubes in one layer plus one connecting them in the layer above, map the relative positions of the centres and you will find out the relation (if you still can't, i'll give you more hints on the diagram).
You will be able to map all the nice trails of the vertices when your system works, and if you create a regular array with all the cubes, it will be easy to cull some out to get any shape you want at the end.
And to answer your question, there is no single component that does that to my knowledge, you'll need to follow Arthur's hints.
JAM.d
Agi,
Well done!
Have a look at the definition i attached - just rotate the whole system at the end to make your central box static.
In my definition i've also added a parameter for the number of layers, but you will have to find a way to cull some indices to get the diamond shape. or alternatively make a closed brep with your desired shape and check for inclusion of the box centres - this might be easier but it's not as neat.
Andrei
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
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by