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.
Florian von Wey-Lübeck
Nice one! I´ve just started researching and I like the extra shapes in the definition. thanks for sharing
Apr 10, 2015
Alessio
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.
Aug 27, 2016
Sean Madigan
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
Aug 30, 2016
Alessio
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.
Aug 30, 2016
Sean Madigan
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
Aug 30, 2016
Alessio
I will let you know ,thanks !
Aug 30, 2016