Scripting Heptagons

A long time ago, maybe 10 years ago, I got so interested in geometry and the world of constructing them and their mathematical dimension. I wrote about that before.

I was having fun on Grasshopper few days ago and was trying things out, so what do I opt to script for fun? Spiraling heptagons.

The initial step to get to a heptagon is a simple polygon component with 7 sides, unlike trying to draw a heptagon by hand, the second step is to find the curves linking every point of the heptagon to the opposing points. It can be done manually by listing all the points and manually creating curves that connect them all, or by connecting all points and culling the duplicates.

Or...

This part of the script was done by my colleague and friend Ali Tehami, he always finds simpler ways to solve problems in Grasshopper. Note the little square up top to the right, that is a Metahopper component that toggles to show or hide/enable or disable components, done by the brilliant Andrew Heumann in the New York side of the office.

This part of the script was done by my colleague and friend Ali Tehami, he always finds simpler ways to solve problems in Grasshopper. Note the little square up top to the right, that is a Metahopper component that toggles to show or hide/enable or disable components, done by the brilliant Andrew Heumann in the New York side of the office.

Scaling is the slightly harder task, because the angle between any two sides is 2Pi/7, it is not a rational angle. Hence a way to parametrize this is by finding the radius of the new circle inscribing the new "smaller" heptagon.

03.jpg

The perimeter of the smaller polygon divided by the perimeter of the original polygon is a ratio that will feed into the scaling factor as a series of exponential scaling down by x^y (x to the power y), x being the scaling factor, and y being any number in the domain deciding how many heptagons will scale down. [1 to n]

The result is art.

Download the grasshopper script here. Share with love.