Grasshopper

algorithmic modeling for Rhino

Hi everybody, I'm a GH newbie and really enjoying it, but a little stuck. 

My goal is to create a Definition that has tall peaks in the middle, but washes out as it gets closer to the edges. Below is the current version I have that does not have acctractors working yet. 

Full disclosure I am using Lunchbox, so my definition may not work for everybody :(

The idea is to define a surface, panel it, find the centers of the panels (using area),measure the distance between the individual panel centers and the boarder, then use that to control the height of the individual panels.

Below is my definition. 

The problem comes when I attach my attractor setup to the distance of the Offset Node that controls the extrusion. (the dotted red line) Instead of fading out at the edges, it does this:

I'm attaching the .gh and the .3dm, and am grateful for any comments you can give to steer me in the right direction. 

Thanks!!!!

Views: 1567

Attachments:

Replies to This Discussion

like this?

Attachments:

Hey Peter, 

First off thanks for the quick response, that is a beautiful definition you sent me!

I'll post a SS below so anybody following can see. 

It's goal is similar in that you are growing a diamond based geometry around an attractor, but it looks like the attractor is still in a single point that can move along a curve. 

Maybe I'm too novice to see the connection here, and as I get more experience I'll refer back to this definition once I can understand it better. 

Also, I'm mainly curious if the GH community has any specific feedback on what I should do differently in my current definition? 

Thanks for taking the time to respond, and share such a sweet creation!

-Derek

Hi Derek (SS == Screen Shot ?)

The attractor (in either push or pull mode: the first flip/flop gate) in this particular def follows a curve (at  0 =<  t <= 1) but it can be a point controlled by the user (x,y.z) or many points (very slow + requires big numbers of diamonds in order to see any difference: avoid at any cost: Rhino is pathetically slow on anything "solid" or with regard a variety of other methods as well).

The general classic approach in cases like these is to calculate distances (from points on the surface to attractor(s)) and then remap these using some user controllable (min/max) domain  and then apply them as values to something (in this occasion that something is the unitized normal vector). If for instance you want to rotate the diamonds (around any given axis) that something could be the rotation angle. If you want to scale them ... blah, blah  

BTW: If on the other hand you have surfaces with holes (i.e. Breps) or Lists of surfaces OR RULES on Lists related with the pyramids  ... then some things must change on the def provided.

BTW: Forget your def > try to get the gist of the other thing - it's the classic way to deal with similar situations.

BTW: Obviously instead of a point you can use something else (for instance a moving around blob that if engulfs the diamonds then they grow according some rules etc etc).

Hey Peter, thanks again for taking the time to help a noob out, I really appreciate it. (yeah SS = Screenshot:) I ended up doing basically what you mentioned, measuring distances and remapping it. 

For anybody else trying to do an attractor curve/boarder setup I did end up making a pretty clever definition. (by process of repeated failure)

I will attach the definition as well for anybody else interested.  For more complex/custom geometry, I ended up using the Morph node. 

The trick was references the curves on the boarder, then dividing them up to create points, then using the distance from those points to the individual panel centroids. 

hope this helps anybody else trying to do the same or similar.  It seems you could also use this method to reference any curve, not just a boarder. 

cheers

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