Grasshopper

algorithmic modeling for Rhino

Hello all, I am trying to rotate in 3d the individual panels of a divided exploded surface(makes sense?)-imagine having a cladding system and need to(extend and then) rotate the panels according to an agent like sun .
I have attached the file...
Many thanks

Views: 3680

Attachments:

Replies to This Discussion

perhaps the "orient" component(s) might help you.. I haven't built it myself, but my first guess would be to take the subsurfaces, get their surface frames to use as reference direction (including the Z vector), orient duplicate planes towards the point you need & plug all that into an orient component.
but this is first guess theory - perhaps someone already has built something like this. I bet!! ;D
Orienting to an attractor and orienting to the sun are two very different things. If you orient to the sun, you would orient each component to the same vector (a solar vector). If you orient to an attractor, you would orient your panels with a vector between your panels and the attractor. If you provide more details and images about what you are trying to do, I might be able to provide more help.
Hello Benjamin,
I am trying to create a solar vector for the panels to respond to...meaning that the panels should iideally follow the sunpath during the day.....makes more sense??MAny thanks
well, I'll herewith choke on my previous reply and admit that I can't build it the way I thought I might..

Benjamin - in the posted definition, I've built a surface and interactively divided it into subsurface quads.

If I wanted to now orient all faces towards a sun vector, what strategy would I follow? via Rotation..?

x
Attachments:
ok here's a version with orienting surfaces towards a point, Lida!

constructed by remapping the base planes. source planes derived from evaluate component at mid surface UV, target planes derived from vector between one point and subsurface UV mid points (where the planes are attached, too).

(you have to set a point input into the "vec2pt" component on the right)
Attachments:
Hello But Why, Precisely?
I cannot seem to be able to open any of the files you have sent me...Do you have an older grasshopper version?DO you know any way to resave it possibly??Many thanks for all your help
I'm running the latest GH! 6.0043 - you too? right click and "save as" worked?
I still cannot open it................klsfdjlksdjfsdlk..why why why?
A basic strategy to orient a set of objects to the sun is to use the Orient component (from the XForm tools), using a set of planes perpendicular to a sun vector, and a set of reference planes for the input orientation of the objects. I can see that you've already done this with Vec2pt. Doing it with a sun vector is a little easier, because you are working with one vector, not a bunch of different vectors. you probably know a lot of this already, but I wanted to write a comment that is helpful to anyone coming across the discussion, because it is a common design task.

To orient a bunch objects towards a sun vector:

1. you need a vector to represent the sun's rays. You can either use an existing definition from the web (definitely look at Ted Ngai's amazing work on this), or just make a single adjustable vector as a stand in. I've often simply made a vector using azimuth and altitude angles as inputs, since those are common ways of describing the location of the sun, and makes it easy to look up a sun angle and put it in to your definition.

2. assuming you have some vector to represent the sun's rays, make a plane that is perpendicular to this vector. But Why, Precisely?, you're already familiar with some of the quirks of making a plane perpendicular to a vector, just keep those quirks in mind.

3. next, create reference planes for your panels. If your panels are flat (i.e. planar) this is really simple, just make a list of their planes, using whatever you like (check planarity, evaluate surface, whatever). If your panels are not planar, then you need to decide on a plane you can make from each one that you would like to use as a reference plane. plane from 3 points might be a good method here.

4.take your single plane that is perpendicular to your single sun vector, and place it at the origins of all of your reference planes. Now you have a sun-oriented plane for each panel.

5. Using the orient component, input your reference planes as the reference planes, and input your sun-oriented planes as the target planes, and input your panels as the geometry to transform. You should now have a bunch of panels oriented to the sun vector.

6. In this method, I've assumed that you want your panels perpendicular to a solar vector, to face the vector, but if you want a different relationship to the sun vector, you just need to change the relationship of that single first sun-oriented plane to whatever relationship you would like to make.

One thing to think of when designing for sun angles is just that at any given point in time, for any given point on the earth's surface, the rays of the sun are basically parallel. the angle of these rays changes over time, but at any other time, the rays are still parallel to each other, and can therefore be described by a single vector for each moment in time.
thank you very very much for your detailed post, Benjamin - I'll look through it and try to come up with a documented/annotated construct that demonstrates how it might work!

Lida, the files work for me, just checked on a second machine.. you have to set the multi-dimensional slider domain to something higher than the "0.0 to 0.5" it gives you when you open the file - and reference the two source curves via "set multiple points" in the first curve data item on the far left of the definition. Or any two curves in another file. Also, make sure you're really running the latest GH.
ok, here goes! it works as Benjamin described, so we have both orientation issues demonstrated together in this file, now.

thank you again for your insightful post, Benjamin!!

hugz
bwp
Attachments:
Sorry But Why, Precisely, still cannot open your files....don't know why.Is it possible to print screen the script or is it too long??Thanks to both you and Benjamin

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service