Grasshopper

algorithmic modeling for Rhino

Non Uniform scaling of curves. (with graph mapper or other?)

I know there is probably very simple solution to what I am trying to do.  see attachments, comments and suggestions are appreciated. 
Problem:  I am creating a cone (see attachment: result) of individual blocks.  There are the same number of blocks per ring that are the same height on all levels.  As you can see, the overall cone profile is not straight.
My Solution:  I started with an array of circles.  All of the circles are divided into an equal number of points using the HFrames component.  I then use the component orient to attach my block module to the points on the circles.  To make the ring of blocks get small as they go up, I am then applying a Non Uniform scale of the circles in the X & Y direction keeping the height the same.  

NOW, this is what I'd like to do.  Instead of selecting each circle and controlling the NU scale individually; Is there are way to control all of the circles with the graph mapper or something else?  

I've tried many different ways to get where I am at...  Any comments or suggestions would be great!  Thanks

Views: 3438

Attachments:

Replies to This Discussion

Hi Greg,

would something like this be helpful? (Gh 0.6.0059)

- Giulio
___________________
giulio@mcneel.com
McNeel Europe, Barcelona

Incremental circle radius

Attachments:
Beautiful! Thanks Giulio. I'm going to give it a closer look right now. Greg
Hi Guilo,
Very informative solution. Unfortunately, I've tried a similar approach that you suggested. Here's the tricky part about this problem. I believe I need to use a type of scaling factor to size the rings instead of using a range of values to assign the radius of the rings. In using a range of values to size the ring radius, the points do not scale and therefore the blocks do not scale with the rings. All of the blocks are same size on the points.... Thanks for taking a the time. G
Well, you could draw the original circle with size "1" and then scale with all the current radii? Or, alternatively, adjust the scaling values to the length of the curve, or its planar area? This logic could be kept all same and just become the scaling factor. You can use the normal scale component, centered at the frames. Just let me know if I should help you with this...

- Giulio
___________________
giulio@mcneel.com
McNeel Europe, Barcelona
Yep, still trying to work this one out.... I'll upload some files if want to take a look. -Greg
Attachments:
Hi Greg,

I'm sending an example of how you could begin the same design with Grasshopper Trees (a more lightweight way). It's not finished yet, but it will give you an idea of how to start.

I've also converted all breps into meshes before copying them, which gives the same results for visualization but are faster. Later, you can always switch back to the original breps (polysurfaces).

You could gain some insights in how the definition works if you rehearse about Trees. You can see this manual, page 35.

- Giulio
Attachments:
Thanks Giulio, this has been very helpful. Nice definition. I have about 5 days experience with grasshopper so this insight is very appreciated. How about that definition I sent!?! I bet it was entertaining. Again, thank you. Greg

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service