Sticky Note Sunflower

What you are seeing is a growth pattern of sticky notes that uses the Golden Angle (137.5 degrees) and then slowly decreases. This angle is commonly found in the plants all around us because it is an optimal angle for growth.

It was a lot of fun playing with the growth angle while creating memorizing spirals in this code, so I created a version for everyone to play with (see below): (on p5.js – sometimes this network goes down) or:

See the Pen sunflower by Sophia (@fractalkitty) on CodePen.

There is lots of fun to discover here. The fractal starts using the Golden Angle of Phi (137.5) and then decreases. You will find interesting behaviors when the angles approach numbers that divide into multiples of 360 more easily (40, 45, 60, 90, 120, 180, etc…). I wanted to do so much more, but had to stop somewhere.

If you want to know more about Phi, many mathematicians and creative types have presented it better than I (see below):

I’m Attracted to Attractors

So many plots and mathematical musings throughout my life have brought on a sense of artistic beauty and awe within my being. In the windowless halls of engineering firms I have smiled at harmonics, or in a homeschooling room squealed in glee when I stumbled upon Pisano periods by trying to play Fibonacci on the piano. Lately I have been playing with attractors. These dynamic systems make me stay up late fiddling with their metamorphic and chaotic beauty.

I came from a Matlab world and have had to teach myself some more cost efficient means of play with javascript and python. The code below is just one of my playgrounds. I don’t know if there is a name for this attractor (please let me know if you know its name). Enjoy:


With functions you have inputs (x) and outputs (y) that can be plotted on a plane (x,y). With the images below, the x and y values are computed using an initial value of (1,1) and then the next (x,y) is computed using the previous coordinate’s values. The equations are shown below:

x = sin(a1 * oldx) * cos(a1 * oldy) – sin(a2 * oldx);
y = cos(a3 * oldx) – cos(a3 * oldx) * sin(a4 * oldy);

Here is a gallery of some of my outputs:

For the images above, I calculated x and y using a1, a2, a3 and a4 coefficients and the previous x and y values (oldx, oldy). The initial point was (1,1). In the code below, there are only 300,000 points (compared to millions in higher res images). You can play with the values of a1, a2, a3, and a4.

See the Pen webcode by Sophia (@fractalkitty) on CodePen.

I like the p5.js editor. Click here to play. I would say that fiddling with this is a great idea for an “Hour of Code.”

If you like to play with sheets or excel, which is not near as pretty, I made a sheet for you here. This is also handy if you want to see the array of values for (x,y).