Wednesday, September 10, 2008

Phyllotaxis Spirals 2

The previous post showed some phyllotaxis-like spirals that were created using TinkerPlots. If you bring the same file into Fathom, you can use its support for collection display to create a "graduated" picture that makes the more central seeds look smaller (younger) than the more mature outer seeds.

If you have already created the phyllotaxis data in Fathom, or opened the data created in TinkerPlots in Fathom, you can change the display you get when you drag open a collection box. Under the display tab on the Collection Inspector in Fathom you can set the display properties so that cases no longer show up as uniform gold balls. Setting the display attributes to the values below should give you a growing spiral like the one pictured above.

x = 10x+400
y = 10y+400
image = greyCircleIcon

width = sqrt(r*10)
height = sqrt(r*10)

Note tha the x and y that appear on the right-hand side of the equations above are the x and y attributes that you defined for the data, and the x and y that appear on the left-hand correspond to the position of the icons. You can experiment with other formulas for width and height - using a slider to provide a variable instead of the number "10" gives more flexibility.

The images below show some of the other spirals you can obtain by varying the angle between the seeds, as mentioned in the previous post.


  1. Can you please poste the fathom data (.ftm) for this Phyllotaxis Spiral 2


  2. Sorry for not replying to this.

    Rather than pulling in data (which you could do), you can use Fathom to generate the data. As mentioned in the post referenced here, you just need to define a few attributes:

    n = caseIndex
    base_angle = pi*(1+sqrt(5))
    r = sqrt(n)
    theta = n*base_angle
    x = r*cos(theta)
    y = r*sin(theta)

    Once the attributes are added, adding cases will generate the data.

  3. I have made a somewhat similar tool some time ago, although not as pretty as yours :) The "younger central seeds" are nice touch.

    Have a look:

    1. Hi Martin -
      Thanks for sharing your code. The ones here were done using Fathom (same could also be done in TinkerPlots). I more recently re-did them in Processing - which is just Java with some extra libraries (see here) and also recently played around with colouring the seeds (see this post).