Video 01: Unpacking – 2D Shapes – Different Sizes
A simple algorithm I developed to simulate the process of packing. Actually, I decided to work it out this time in the opposite way around. I started with a group of intersected curves(circles) and directed the definition to unpack them to reach a status of attachment or minimum proximity.
Figure 01: Unpacking – 2D Shapes – Different Sizes
I started with 2Dimensional shapes, circles. I developed a tool which works on 3 levels of iterations. The first one is used to measure the distance between the selected surface and all other surfaces, then smoothly push them away from its centre. The second level is the one concerned with iterating the previous process among all intersected surfaces. Finally, the upper level which considered the testing section. In this level, the whole process is iterated hundreds of times, that because I am dragging the unpacking process in small steps, that which allow for a coherent adjustment between the surfaces. the algorithm exit by reaching a status of no intersection between all surfaces, and with only small gap in between them all.
Figure 02: Unpacking – 3D Shapes – Different Sizes
The process worked fine with 3D shapes, a bit slow, but perfectly adapted, I am even thinking of trying other shapes soon.
Figure 03: Unpacking – 3D Shapes – Different Sizes – Comparing Initial to mid-process
this is my first attempt, I don’t use any custom made algorithm or scripting environments like C#, or python. It’s a pure grasshopper definition, with the help of the Anemone Plugin. its not very efficient, because I used the geometries as a reference, but in my next tries, I might get a faster definition by using only the spheres points organised in data tree together with its radiuses.
I will Try to post the example on the grasshopper forum:—-