# Sunflower Emergent

### 1 collaborator

Uri Wilensky (Author)

### Tags

biology

Tagged by Reuven M. Lerner over 9 years ago

Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.0.4 • Viewed 275 times • Downloaded 32 times • Run 0 times

## WHAT IS IT?

This model shows the characteristic double spiral formation we see in many plants. Most plants have leaves that spiral up the stem, appearing as a double spiral when viewed from above. This same double spiral is also seen in flower heads such as sunflowers and pine cones.

The key idea is that the pattern emerges from simple physics--the minimization of repulsive energy. Neither evolutionary biology nor the geometry of angles are invoked in this model.

## HOW IT WORKS

The model is initialized with one particle in an inner ring around the origin.

At each tick of the model, a new particle is added and placed in a concentric ring, a fixed distance from the last ring.

The location of the new particle is determined in the following manner. Place 360 or more temporary particles on the ring, calculate the repulsive energy for each temporary particle by choosing one of two energy approximation methods, and choose the temporary particle has the minimum total repulsive energy. The rest of the temporary particles are then removed.

This model includes two different methods to approximate the total repulsive energy of a particle. Both methods are based on the assumption that particles that are closest to one another exert much more repulsive energy than particles that are further away. The first method assumes that the relationship between distance and repulsion is inverse, while the second assumes that it is one of exponential decay.

## HOW TO USE IT

The SETUP procedure places one particle at a distance of RING-DIST from the origin.

ADD-PARTICLE adds one new particle into the next concentric ring.

RING-DIST is the distance between successive rings.

The PARTICLE-SIZE is just the visual display size for the particles. It does not affect the growth placement pattern.

GO adds particles until the spiral reaches the edge of the world.

The FIXED-TEMPS? switch determines whether to use a fixed or variable number of temporary particles. If on, then 360 temporary particles are used. If off, then the number of particles increases with distance from the origin.

The SHOW-TEMPS? switch, if on, displays the temporary particles.

The ENERGY-APPROXIMATION chooser determines which energy approximation method is used. INVERSE DISTANCE uses the repulsive energy approximation 1/distance^ALPHA, and EXPONENTIAL uses the Born and Mayer repulsive energy approximation, e^(-distance/BETA). The ALPHA and BETA sliders determine the constants used in each of these approximations.

## THINGS TO NOTICE

Notice the double spiral pattern that emerges from these simple rules. Is the spiral pattern always the same with the same settings? Why or why not?

Do you notice any other patterns in the left and right handed spirals?

## THINGS TO TRY

Try varying the RING-DIST to get looser or tighter spirals.

Play with the various switches to visualize the temporary particles and the effect of different energy approximations.

## EXTENDING THE MODEL

Can you find a way to generate pleasingly colored spirals?

What happens if you allow some random perturbations in particle placement?

## NETLOGO FEATURES

Note the use of the `min-one-of` primitive to find the temporary particle with the least repulsive energy.

## RELATED MODELS

Sunflower Sunflower Biomorphs

## CREDITS AND REFERENCES

This model is a replication of Victor Stenger's double spiral model in: Stenger, V. (2008). God: The Failed Hypothesis.

The double spiral patterns as seen in nature are described in: Ball, P. (1995). The Self-Made Tapestry.

Douady, S. and Couder, Y. (1992). Phyllotaxis as a Physical Self-Organized Process. Physical Review Letters, 68(13), 2098--2101.

Dove, M. T. Structure and Dynamics: An Atomic View of Materials. New York: Oxford University Press, 2003.

## HOW TO CITE

If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:

Copyright 2009 Uri Wilensky.

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

## Comments and Questions

Click to Run Model

```breed [particles particle]
breed [temp-particles temp-particle]

globals [ num-temp-particles ]

to setup
clear-all
set-default-shape particles "circle"
set-default-shape temp-particles "circle"
;; place the first particle in an arbitrary location on the first ring
create-particles 1 [
set size particle-size
fd ring-dist
set color yellow
]
reset-ticks
tick
end

;; each tick we add just one new particle

to go
let ring-number count particles + 1
let dist ring-dist * ring-number
if dist >= max-pxcor [ stop ] ;; stop when we get to the world edge
;; as radius gets bigger, we can either always use 360 temp particles,
;; or we can scale up based on the circumference of the ring
let ntemps ifelse-value fixed-temps? [360] [round (dist * 30)]

create-temp-particles ntemps [
set size 1
fd dist
set color green
ifelse show-temps? [ show-turtle ] [ hide-turtle ]
]
set num-temp-particles count temp-particles

;; place the next particle at the location  on the ring with least potential energy

if energy-approximation = "inverse distance" [
let min-particle min-one-of temp-particles [sum ([1 / (distance myself) ^ alpha] of particles)]
ask min-particle [     ;; ask the min-temp to create a clone that is a permanent particle
hatch-particles 1 [
show-turtle
set color yellow
set size particle-size
]
]
]

if energy-approximation = "exponential" [
let min-particle min-one-of temp-particles [sum [exp (- (distance myself) / beta)] of particles]
ask min-particle [     ;; ask the min-temp to create a clone that is a permanent particle
hatch-particles 1 [
show-turtle
set color yellow
set size particle-size
]
]
]

;; if we tick before killing off the temporary particles, they'll be visible
;; in the view.
if show-temps? [ tick ]
ask temp-particles [ die ]  ;; kill off the temporary particles
if not show-temps? [ tick ]
end

; Copyright 2009 Uri Wilensky.
; See Info tab for full copyright and license.
```

There are 9 versions of this model.

Uri Wilensky over 9 years ago Updated to NetLogo 5.0.4 Download this version
Uri Wilensky over 10 years ago Updated version tag Download this version
Uri Wilensky over 10 years ago Updated to version from NetLogo 5.0.3 distribution Download this version
Uri Wilensky about 11 years ago Updated to NetLogo 5.0 Download this version
Uri Wilensky over 12 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 12 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 12 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 12 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 12 years ago Model from NetLogo distribution Download this version

## Attached files

File Type Description Last updated
Sunflower Emergent.png preview Preview for 'Sunflower Emergent' almost 10 years ago, by Uri Wilensky Download

This model does not have any ancestors.

This model does not have any descendants.