Grasshopper

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.

Views: 2145

Replies to This Discussion

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

https://www.screenr.com/embed/AiDN"; width="475" height="289" frameborder="0"></iframe>" /> https://www.screenr.com/embed/AiDN"; width="475" height="289" frameborder="0"></iframe>" allowFullScreen="true" wmode="opaque" AllowScriptAccess="always" allowscriptaccess="always" allowfullscreen="true" pluginspage="http://www.macromedia.com/go/getflashplayer" />

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

Attachments:

Agi,

I opened your file - the two scripts do exactly the same thing!

maybe you didn't turn preview on for the final geometries?

Middle click on the component and choose the 'enable preview' button?

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

Attachments:

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service