Grasshopper

algorithmic modeling for Rhino

Download the source files here: 

http://www.sean-madigan.com/2012/02/11/attractor-curve/

This definition takes any given surface and divides it into a given number of cells, each of which recieves a circle with variable radius. An attractor curve is used to drive this radius by calculating the distance from each given subdivided panel to its corresponding closest point along the attractor curve. The result is a field of circles with a fall-off gradient in size.

Views: 39182

Comment

You need to be a member of Grasshopper to add comments!

Comment by Steve Schiller on December 4, 2017 at 4:07am

Hello,

because the link is dead, does somebody know a similar definition or where I can find it?

Thank you!

Comment by Sean Madigan on October 6, 2016 at 7:44am

Drowsey Telfast,

Yes, in my definition I am driving the radius of each circle with the remapped distance values.  You could create a custom curve of your own, and a reference plane for that curve, and use the "orient" component to place that curve at each point on the grid.  Once oriented, you can plug the remapped distance values into a "scale NU" component for XYZ inputs.  This will scale your custom curve as you wish.  An example of this technique can be seen in my "image sampler" definition.  Good luck!

Comment by Drowsy Telfast on October 6, 2016 at 7:37am

Is there a way to use your own curve ass opposed to using a circle rectangle or polygon? Can't seem to figure it out

Comment by Alessio on August 30, 2016 at 1:00pm

I will let you know ,thanks ! 

Comment by Sean Madigan on August 30, 2016 at 12:53pm

that's simple...

you can "sort" the list of radii so they are in order from lowest to highest value, and then using "split list" you can separate them out into little groups of similar values.  From there you can use multiplication, division, and rounding to simplify them into the integers you want, or you can simply replace those numbers with a new integer of your choice.  hope that helps.

-sean

Comment by Alessio on August 30, 2016 at 12:41pm

Thanks ,really clear. This application of grasshopper is often used for paneling application in the real life. I was just wondering if there are some components/full algorithms that allow you to create families. Putted in other words, in this case could be ...I need 10 circle of radius number x and 30 circles of radius number y etc.etc. I face the topic of the families in digital project, here in grasshopper I ma getting there just now. I f you know something about it would be really precious to me. Thanks twice.

Comment by Sean Madigan on August 30, 2016 at 7:37am

Alessio,

I'll try to explain as best I can.  This definition takes a single shape, (either circle, square, or polygon) and it populates that shape onto a grid of points.  The optional shapes simply let you use squares, circles, or polygons as the shapes to be used.  Once the shapes are laid onto the grid, the script tests the distance of each shape from the attractor curve.  This distance ranges from very small to very large.  So then the list of distances is then "remapped" to a value that can be controlled.  By "remapped" i mean, that the entire list is scaled from it's current bounds (maximum and minimum values) to a target domain.  so if I have a list of numbers (0,4,6,10) with a bounds of (0 and 10) and I remap them using a target domain of (0 to 1), I will get a new list (0.1, 0.4, 0.6, 1.0) You may want that target domain to be related to the size of the original grid, to avoid overlapping shapes.  (radius should never exceed 1/2 of the grid spacing)

hope that helps,

-Sean

Comment by Alessio on August 27, 2016 at 7:35pm

Thanks for sharing, really helpful and more completed of many other tutorials I've seen. Looks to me a bit unclear when I face the final part when the values are remapped. Why two lists entering, what it means optional domain list..and what actually is happening remapping all that numbers. ? I hope in a exhaustive reply. 

Comment by Florian von Wey-Lübeck on April 10, 2015 at 8:08am

Nice one! I´ve just started researching and I like the extra shapes in the definition. thanks for sharing

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service