algorithmic modeling for Rhino


I am trying to make the triangular panels attached open and close depending on whether or not they are exposed to the sun/attractor point, but have been going around and around in circles, and being new to this any help would be really appreciated.

I have attached a reference image, but don't need that much complexity, all I am trying to achieve is that the triangles can open and close when the sun would pass over them.

Any help, or even advise would be great :)

Views: 3637


Replies to This Discussion

Hi Oliver, 

You could start here :

It is scaling, opening, closing with point attractor from Michael Pryor.

Just parametrize your geometry for opening. 

For Sun, you can use Ladybug sunpath:

From sunpath you can read sun positions, and use that as your point attractor. 

You can draw also your sunpath, with arc and spheres. As in this video:

Where sphere is attractor. 


Thanks this is a big help, think I am getting a little closer :)

Not sure if you have already figured this out by now but this tutorial by Designalyze may help!

Hey thanks for the help,

Sorry to be a pain, I am however still a little confused. I have looked at the attractor points, and how your example Matt shows a surface morph using apertures.

However, I can't get my brain around making the triangles rotate on the basis of their proximity to the attractor point, have you got any ideas?  



Hi, Oliver. You're very close, you just need to replace the slider for rotation angle with a measurement of the distance from each panel to the attractor point.

I'll go through the points in order:

1. I replaced the deconstruction brep component with a Discontinuity component and modified the List Item component next in line. The Discontinuity component is a little more reliable to give you vertices in order, and by expanding the List Item component with items i, +1, +2, and +3, it is more legible.

2. I used the Average component instead of creating surfaces then finding the center with the Area component. This is just more efficient, so if you end up with many, many panels it will work more smoothly. In your case, I don't think it matters too much.

3. Then I measured the distance from the center point of each panel (Average component) to the attractor point. It is important to remap the values of these measurements to a given domain so that you can control the minimum and maximum angles. Plugging this into the rotation angle and you're all set.

If you want this to respond to solar data, you can replace the cluster of components at #3 with a solar analysis. Measure the solar radiation at the center points (output of the Average component), remap those results to a domain that makes sense to the angle rotation, and plug into the rotation component.

Hope this helps!

Hey Damon, wow I didn't even know most of that, thanks for your help! 






  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service