Product(s): | OpenBuildings Generative Components | ||

Version(s): | 10.06.03.04 | ||

Environment: | N\A |

# Background

Sunflowers are amazing for many reasons. And of them would how it arranges its seeds. If we observe very closely we would note that it is not only beautiful but smart also. It arranges the seeds in such a way that it maximizes space utilization reducing void space.

We can model the this in polar co-ordinate system(r,θ) where

Radius(r) = Sqrt(n) n is the number of seeds

Angle(θ) = n*ang ang is the corresponding angle for a given decimal number.

ang = 360*Fr/10 Fr is the decimal part of given number.

It is noted if that for Golden Ratio(1.618033… or 2*Sin(54) ), we get the closest representation of the sunflower seed pattern. This model was given by Helmut Vogel(1979).

# Steps to Accomplish

We will create a small GCScript for the above expressions and use it for placing points by using the ByFunction technique.

function(number DecimalNumber, int NoOfPoints, CoordinateSystem CS) { number ang; ang=360*Fraction(DecimalNumber); Point pt; for(int i = 1; i <= NoOfPoints; ++i) { pt = new Point(this); pt.ByCylindricalCoordinates(CS, Sqrt(i)*100, i*ang, 0); } }

Please go through the sample file https://communities.bentley.com/cfs-file/__key/communityserver-wikis-components-files/00-00-00-00-28/Sunflower-Seed-Pattern.gct