Starting from:
$35

$29

MAT 128B: Project I: Using iteration methods to understand fractal geometry

In this project your team will implement computer programs that use iteration methods to generate fractal gures on the plane. You will learn some basic concepts in fractal geometry through the project.

This is a team project and requires collaboration. Describe in detail how your team is organized and how the tasks are being addressed. I strongly recommend you to use Github for this collaboration. If you do so please provide evidence.

Filled Julia sets, Julia sets and Mandelbrot sets

i.- An introduction to fractals Pages 98{101 in Greenbaum and Chartier (attached) give an introduction to fractals. Some key concepts that you will need to understand are: orbit, Filled Julia sets, Julia set and Mandelbrot set (discuss these concepts with your team). An important result states that if the orb(0) is bounded then the Julia set is connected (that is any two points in the set can be joined by a line). Implement the program given in the background reading to generate the Filled Julia set in Figure 4.13 and to convince yourself that the Filled Julia set of (z) = z2 is the unit disk (denoted by D2).

ii.- Generate (and plot) other examples changing the value of c in the func-

tion (z) = z2 + c. Try examples like c = 0:36 + 0:1i or c = 0:123 0:745i. Describe what happens when jzj > 2 or when the initial z0 values (chosen in the program pro-vided) are changed.

iii.- Constructing the Julia set. Remember the Julia set is the boundary of the Filled Julia set.  We here are going to give an algorithm to generate the Julia set. It is called the Inverse Iteration method:  Given a complex number z = x + iy =

z =
r cos
2
+ i
r
p
2


y

r(cos  + i sin ) with r =

x2 + y2 and  = tan 1

when x > 0 (adding   if x < 0)





and p

















x











sin

. Use these expressions to develop an iteration method
















































function is



=


w  c. For each number you can randomly pick the positive
whose


q





q








or negative value of the expression for . Verify your program using the values you used before.

iv.- Computing the Fractal dimension The paper Bisoi and Mishra 2001 (see ref-erences below) gives several algorithms to compute the fractal dimension. Explain with your own words what the fractal dimension is and implement one of those algorithms to compute the fractal dimension of the Julia sets generated above. Check that your algorithm is correct by computing, for instance, the dimension of the boundary of the disk generated in i.

v.- Connectivity of the Julia set Write a program that computes orb(0) and de-termines whether a Julia set is connected or not. Assume divergence occurs when jzj > 100

vi.- Coloring divergent orbits Write a program that assigns a color to the divergent orbits in the Julia set. The coloring is assigned according to the time the orbits take to diverge (i.e. jzj > 100). Two orbits, one that gets jzj 100 at iteration n and another at iteration n + 1 have similar colors.

vii.- Newton’s method in the complex plane Using the algorithms developed above. Can you write a program that uses the Newton method on the complex plane (as an iteration method)? Looking at the colored orbits. Can you identify the roots of
the polynomial? Choose examples of the form    (z) = zn    1 for a    xed n.

viii.- The Mandelbrot set Generate the Mandelbrot set associated with (z) = z2+c. This is going to be achieved by changing c. Color the values of c according to the number of iterations that it took for the orbit of 0 to diverge. This was the cover of the journal Scienti c American in 1985.

References

Bisoi AK and Mishra J. 2001 On calculation of fractal dimension of images Pattern Recognition Letters Volume 22, Issues 6{7, Pages 631-637

Devaney RL and Keen L 1988 Chaos an fractals. The mathematics behind the computer graphics. American Mathematical Society.

More products