fractal geometry dr helen mcaneney centre for public health, queen’s university belfast
TRANSCRIPT
Fractal GeometryFractal Geometry
Dr Helen McAneneyDr Helen McAneney
Centre for Public Health,Centre for Public Health,Queen’s University BelfastQueen’s University Belfast
This talk
Steven H Strogatz, 1994. Nonlinear Dynamics and Chaos: with applications to Physics, Biology, Chemistry and Engineering (Addison-Wesley).
Fractals
• Term coined by Mandelbrot in 1975 and was derived from the Latin
fractus meaning "broken" or "fractured.“
• Self-similarity, i.e. look the same at different magnifications
• Mathematics: A fractal is based on an iterative equation
– Mandelbrot set
– Julia Set
– Fractal fern leaf
• Approx. natural examples
– clouds, mountain ranges, lightning bolts, coastlines, snow
flakes, cauliflower, broccoli, blood vessels...
Mandelbrot Set
Netlogo: Mandelbrot
Source: ccl.northwestern.edu
Interface
set z-real c-real + (rmult z-real z-imaginary z-real z-imaginary)
set z-imaginary c-imaginary + (imult temp-z-real z-imaginary temp-z-real z-imaginary)
Extension1
set z-real
c-real - (rmult z-real z-imaginary
z-real z-imaginary)
set z-imaginary
c-imaginary - (imult temp-z-real z-
imaginary temp-z-real z-
imaginary)
Extension2
set z-real
c-real - (rmult z-real z-imaginary
z-real z-imaginary)
set z-imaginary
c-imaginary + (imult temp-z-real
z-imaginary temp-z-real z-
imaginary)
Koch Snowflake
1 2
3 4
• With every iteration, the
perimeter of this shape
increases by one third of the
previous length.
• The Koch snowflake is the
result of an infinite number of
these iterations, and has an
infinite length, while its area
remains finite.
Netlogo: L-System Fractals
Koch’s Snowflake3 iterations
Code
to kochSnowflake
ask turtles [set new? false pd]
ifelse ticks = 0
[repeat 3
[ t ahead len l 60 t ahead len r 120 t ahead len l 60 t ahead len r 120 ]
]
[t ahead len l 60 t ahead len r 120 t ahead len l 60 t ahead len r 120 ]
set len (len / 3)
d
end
First attempt!
Fractal Square?
Iteration 1
Fractal Square?
Iteration 2
Fractal Square?
Iteration 3
Fractal Square?
Iteration 4
Code
to kochSnowflakenew2
ask turtles [set new? false pd]
ifelse ticks = 0
[repeat 4
[t ahead len l 90 t ahead len r 90 t ahead len r 90 t ahead len l 90 t ahead len r 90 ]
]
[t ahead len l 90 t ahead len r 90 t ahead len r 90 t ahead len l 90 t ahead len r 90 ]
set len (len / 3)
d
end
Fractal Square 2?
Iteration 1
Fractal Square 2?
Iteration 2
Fractal Square 2?
Iteration 3
Fractal Square 2?
Iteration 4
Code
to kochSnowflakenew2
ask turtles [set new? false pd]
ifelse ticks = 0
[repeat 4
[t ahead len r 90 t ahead len l 90 t ahead len l 90 t ahead len r 90 t ahead len r 90 ]
]
[t ahead len r 90 t ahead len l 90 t ahead len l 90 t ahead len r 90 t ahead len r 90 ]
set len (len / 3)
d
end
Fractal Hexagon?
Iteration 1
Fractal Hexagon?
Iteration 2
Fractal Hexagon?
Iteration 3
New Code
Changed heading to -30
to kochSnowflakeNEW
ask turtles [set new? false pd]
ifelse ticks = 0
[ repeat 6
[ t ahead len l 60 t ahead len r 60 t ahead len r 60 t ahead len l 60 t ahead len r 60 ]
]
[ t ahead len l 60 t ahead len r 60 t ahead len r 60 t ahead len l 60 t ahead len r 60 ]
set len (len / 4)
d
end