Make Your Own Julia Fractals

Total Page:16

File Type:pdf, Size:1020Kb

Make Your Own Julia Fractals CODING MANDELBROT & PYTHON PYTHON: MAKE YOUR TUTORIAL OWN JULIA FRACTALS With a smattering of Python and some clever maths you can create TARIQ RASHID even more beautiful chaos inside your Linux box. ulia sets are closely related to the Mandelbrot Set, which we explored last issue with some Jbasic Python. All of these are produced by the code we’ll develop here from the same simple iterated function z2+c as the Mandelbrot fractals. You can see that they are different to the Mandelbrot set, and yet there’s something about them that is similar. You can also see that some Julia sets are a single object like the Mandelbrot, but PRO TIP some are many pieces, with some even becoming so Explore the Mandelbrot fragmented they are almost like dust. and Julia fractals using the interactive XaoS open It might not be obvious, but while there is only one source software at http:// Mandelbrot, there are infinitely many Julia sets. The Just one look tells you that the Julia set is very closely bit.ly/1vLdz52 or through recipe, or algorithm, for creating Julia sets is the same related, but subtly different to the Mandelbrot set. a web browser http://bit. ly/1lbXYL1 as that for the Mandelbrot set except for one key difference. pass Let’s remind ourselves of the recipe for the pass Mandelbrot set. We choose a rectangle on the return iteration complex plane and test many evenly spaced points You can see that z doesn’t start at (0+0i) anymore to see whether they’re part of the Mandelbrot set. We but is a parameter passed to the function. The do this by seeing if repeated iteration of a function parameter c is also passed but is a fixed complex z2+c, where c is the point being tested, results in the number and not a number representing the point orbit escaping and diverging, or not. And if it does, being tested, because z does that now. we colour the point according to how fast the point The Python program to plot Julia sets is presented diverges. here for easy reference: This recipe is essentially the same for making Julia # loads the numerical and plotting extensions to Python Instead of c representing sets. The difference is that the roles of the z and c # needed if you’re using a locally installed IPython, not for some the point on the complex values are reversed (see diagram below). online IPython providers being tested (as in the The following shows the calculating function julia(z, %pylab inline Mandlebrot set), it is kept c, maxiter), based on the mandel(c, maxiter) function constant for all the points we developed in the last issue: # set the location and size of the atlas rectangle being tested. Similarly def julia(z, c, maxiter): xvalues = linspace(-2, 2, 1000) instead of z starting from zero, it starts as for iteration in xrange(maxiter): yvalues = linspace(-2, 2, 1000) the complex number z = (z*z) + c representing the point if abs(z) > 4: # size of these lists of x and y values being tested. break xlen = len(xvalues) ylen = len(yvalues) Mandelbrot set Julia set # value of c (unique for each Julia set) c = complex(-0.35, 0.65) Iterate z2 + c # julia function, takes the fixed parameters z and c and the maximum number of iterations maxiter, as inputs def julia(z, c, maxiter): Different c Different z # start iterating and stop when it’s done maxiter times C is point on rectangle being Z is point on rectangle being for iteration in xrange(maxiter): tested, varies across rectangle tested, varies across rectangle Z starts at zero (0+01) C is fixed for this Julia set # the main function which generates the output value of z from the input values using the formula (z^2) + c 98 www.linuxvoice.com MANDELBROT & PYTHON CODING z = (z*z) + c # check if the (pythagorean) magnitude of the output complex number z is bigger than 4, and if so stop iterating as we’ve diverged already if abs(z) > 4: break pass pass # return the number of iterations we actually did, not the final value of z, as this tells us how quickly the values diverged past the magnitude threshold of 4 return iteration # create an array of the right size to represent the atlas, we use the number of items in xvalues and yvalues atlas = empty((xlen,ylen)) Some Julia fractals # go through each point in this atlas array and test to see how are more broken up, while others are more many iterations are needed to diverge (or reach the maximum pass contiguous. iterations when not diverging) pass for ix in xrange(xlen): for iy in xrange(ylen): # set the figure size figsize(18,18) # at this point in the array, work out what the actual real and imaginary parts of x are by looking it up in the xvalue and yvalue # plot the array atlas as an image, with its values represented as lists colours, peculiarity of python that we have to transpose the zx = xvalues[ix] array zy = yvalues[iy] z = complex(zx, zy) imshow(atlas.T, interpolation=”nearest”) Try plotting different Julia sets by changing the c # now we know what c is for this place in the atlas, apply the parameter. Remember it is the single parameter c mandel() function to return the number of iterations it took to which uniquely defines the Julia set. diverge # we use 80 maximum iterations to stop and accept the 3D fractal landscapes function didn’t diverge This section will require you to use a locally installed atlas[ix,iy] = julia(z,c,80) version of IPython, because the online IPython services can’t access your OpenGL graphics subsystem to PRO TIP render the three-dimensional plots. Pretty as a picture The code for the full Let’s try to turn the two-dimensional flat images of programs to calculate and Here’s an image produced by one of the filters provided by the Mandelbrot and Julia sets into three dimensions. plot the Mandelbrot and Julia fractals is online at the same extension that we got the Gaussian filter from. It’s One way to do this is to use the colour information in http://bit.ly/1qpnlsE. beautiful – and is the cover of the author’s ebook (http:// each image array to represent altitude; the height of a www.amazon.co.uk/Make-Your-Mandelbrot-Tariq-Rashid- landscape above sea level as it were. We should then ebook/dp/B00JFIEC2A). See if you can recreate it yourself. see mountainous landscapes shaped by the values of The image is the result of a filter that highlights edges (a Sobel filter) applied to the same Julia images we created arrays filled by the Mandelbrot or Julia calculations. previously. The code is at http://bit.ly/1qpnlsE. Surface plot Let’s try it on a very simple array first. The following code prepares a 3x2 array: a = zeros( [3,2] ) a[0,0] = 1 a[0,1] = 2 a[1,0] = 4 a[2,1] = 3 print a Plotting a simple flat image based on these values, using imshow(a, interpolation=”nearest”) results in the simple 2D plot as expected. www.linuxvoice.com 99 CODING MANDELBROT & PYTHON Now let’s plot this same array in three dimensions, three-dimensional plots, remembering to import the with the third dimension given by the value of each mayavi extension too. It’s worth keeping the previous cell. To do this we need to use a new extension to imshow() instruction to see the flat view too. The Python called mayavi. instructions are as follows. The warp_scale was Telling IPython that we want to use mayavi uses adjusted to 1.0 to give a reasonable height, the default the import instruction, just as before. The special setting created hills that were a little too steep: paylab instruction is to ensure that the common set mayavi.mlab.surf(atlas.T, warp_scale=1.0) PRO TIP of numerical extensions are automatically loaded in mayavi.mlab.show() Don’t forget that in the local IPython: These three-dimensional height fields as some Python, like many %pylab inline people call them, give an interesting perspective of the programming langauges, counting elements of import mayavi.mlab Mandelbrot set. arrays and lists starts at The instructions to plot a surface are simple: Let’s try that again but with the original rectangle 0 not 1. mayavi.mlab.surf(a, warp_scale=”auto”) zooming into details of the Mandelbrot set, and also mayavi.mlab.show() change the colour palette by using the interactive The first instruction prepares the surface plot and menus. Some of these landscapes are quite haunting. allows IPython to automatically scale the heights. The Let’s try the same idea with Julia sets. second instruction is needed to actually show the plot. This time the result will appear in a separate window Gentler landscapes outside your browser. You can do quite a lot to this Some of the landscapes we created were a little spiky 3D plot, including rotating it around and changing the and noisy. Let’s see if we can calm them down, lighting that illuminates it. The images at the bottom smooth off the sharp edges, and reduce the of the page show the above small array plotted in cragginess a little, all in the hope of creating a perhaps this way, and again rotated using the mouse. Try it more gentle, more appealing, landscape. yourself. One way to do this is to calculate a new image For easy reference, the entire code for creating a array, based on the original one, but with each new simple 3x2 array and plotting a three-dimensional plot value somehow smoothed based on its neighbour’s of it as as follows: values.
Recommended publications
  • Fractal (Mandelbrot and Julia) Zero-Knowledge Proof of Identity
    Journal of Computer Science 4 (5): 408-414, 2008 ISSN 1549-3636 © 2008 Science Publications Fractal (Mandelbrot and Julia) Zero-Knowledge Proof of Identity Mohammad Ahmad Alia and Azman Bin Samsudin School of Computer Sciences, University Sains Malaysia, 11800 Penang, Malaysia Abstract: We proposed a new zero-knowledge proof of identity protocol based on Mandelbrot and Julia Fractal sets. The Fractal based zero-knowledge protocol was possible because of the intrinsic connection between the Mandelbrot and Julia Fractal sets. In the proposed protocol, the private key was used as an input parameter for Mandelbrot Fractal function to generate the corresponding public key. Julia Fractal function was then used to calculate the verified value based on the existing private key and the received public key. The proposed protocol was designed to be resistant against attacks. Fractal based zero-knowledge protocol was an attractive alternative to the traditional number theory zero-knowledge protocol. Key words: Zero-knowledge, cryptography, fractal, mandelbrot fractal set and julia fractal set INTRODUCTION Zero-knowledge proof of identity system is a cryptographic protocol between two parties. Whereby, the first party wants to prove that he/she has the identity (secret word) to the second party, without revealing anything about his/her secret to the second party. Following are the three main properties of zero- knowledge proof of identity[1]: Completeness: The honest prover convinces the honest verifier that the secret statement is true. Soundness: Cheating prover can’t convince the honest verifier that a statement is true (if the statement is really false). Fig. 1: Zero-knowledge cave Zero-knowledge: Cheating verifier can’t get anything Zero-knowledge cave: Zero-Knowledge Cave is a other than prover’s public data sent from the honest well-known scenario used to describe the idea of zero- prover.
    [Show full text]
  • Rendering Hypercomplex Fractals Anthony Atella [email protected]
    Rhode Island College Digital Commons @ RIC Honors Projects Overview Honors Projects 2018 Rendering Hypercomplex Fractals Anthony Atella [email protected] Follow this and additional works at: https://digitalcommons.ric.edu/honors_projects Part of the Computer Sciences Commons, and the Other Mathematics Commons Recommended Citation Atella, Anthony, "Rendering Hypercomplex Fractals" (2018). Honors Projects Overview. 136. https://digitalcommons.ric.edu/honors_projects/136 This Honors is brought to you for free and open access by the Honors Projects at Digital Commons @ RIC. It has been accepted for inclusion in Honors Projects Overview by an authorized administrator of Digital Commons @ RIC. For more information, please contact [email protected]. Rendering Hypercomplex Fractals by Anthony Atella An Honors Project Submitted in Partial Fulfillment of the Requirements for Honors in The Department of Mathematics and Computer Science The School of Arts and Sciences Rhode Island College 2018 Abstract Fractal mathematics and geometry are useful for applications in science, engineering, and art, but acquiring the tools to explore and graph fractals can be frustrating. Tools available online have limited fractals, rendering methods, and shaders. They often fail to abstract these concepts in a reusable way. This means that multiple programs and interfaces must be learned and used to fully explore the topic. Chaos is an abstract fractal geometry rendering program created to solve this problem. This application builds off previous work done by myself and others [1] to create an extensible, abstract solution to rendering fractals. This paper covers what fractals are, how they are rendered and colored, implementation, issues that were encountered, and finally planned future improvements.
    [Show full text]
  • Generating Fractals Using Complex Functions
    Generating Fractals Using Complex Functions Avery Wengler and Eric Wasser What is a Fractal? ● Fractals are infinitely complex patterns that are self-similar across different scales. ● Created by repeating simple processes over and over in a feedback loop. ● Often represented on the complex plane as 2-dimensional images Where do we find fractals? Fractals in Nature Lungs Neurons from the Oak Tree human cortex Regardless of scale, these patterns are all formed by repeating a simple branching process. Geometric Fractals “A rough or fragmented geometric shape that can be split into parts, each of which is (at least approximately) a reduced-size copy of the whole.” Mandelbrot (1983) The Sierpinski Triangle Algebraic Fractals ● Fractals created by repeatedly calculating a simple equation over and over. ● Were discovered later because computers were needed to explore them ● Examples: ○ Mandelbrot Set ○ Julia Set ○ Burning Ship Fractal Mandelbrot Set ● Benoit Mandelbrot discovered this set in 1980, shortly after the invention of the personal computer 2 ● zn+1=zn + c ● That is, a complex number c is part of the Mandelbrot set if, when starting with z0 = 0 and applying the iteration repeatedly, the absolute value of zn remains bounded however large n gets. Animation based on a static number of iterations per pixel. The Mandelbrot set is the complex numbers c for which the sequence ( c, c² + c, (c²+c)² + c, ((c²+c)²+c)² + c, (((c²+c)²+c)²+c)² + c, ...) does not approach infinity. Julia Set ● Closely related to the Mandelbrot fractal ● Complementary to the Fatou Set Featherino Fractal Newton’s method for the roots of a real valued function Burning Ship Fractal z2 Mandelbrot Render Generic Mandelbrot set.
    [Show full text]
  • Iterated Function Systems, Ruelle Operators, and Invariant Projective Measures
    MATHEMATICS OF COMPUTATION Volume 75, Number 256, October 2006, Pages 1931–1970 S 0025-5718(06)01861-8 Article electronically published on May 31, 2006 ITERATED FUNCTION SYSTEMS, RUELLE OPERATORS, AND INVARIANT PROJECTIVE MEASURES DORIN ERVIN DUTKAY AND PALLE E. T. JORGENSEN Abstract. We introduce a Fourier-based harmonic analysis for a class of dis- crete dynamical systems which arise from Iterated Function Systems. Our starting point is the following pair of special features of these systems. (1) We assume that a measurable space X comes with a finite-to-one endomorphism r : X → X which is onto but not one-to-one. (2) In the case of affine Iterated Function Systems (IFSs) in Rd, this harmonic analysis arises naturally as a spectral duality defined from a given pair of finite subsets B,L in Rd of the same cardinality which generate complex Hadamard matrices. Our harmonic analysis for these iterated function systems (IFS) (X, µ)is based on a Markov process on certain paths. The probabilities are determined by a weight function W on X. From W we define a transition operator RW acting on functions on X, and a corresponding class H of continuous RW - harmonic functions. The properties of the functions in H are analyzed, and they determine the spectral theory of L2(µ).ForaffineIFSsweestablish orthogonal bases in L2(µ). These bases are generated by paths with infinite repetition of finite words. We use this in the last section to analyze tiles in Rd. 1. Introduction One of the reasons wavelets have found so many uses and applications is that they are especially attractive from the computational point of view.
    [Show full text]
  • Understanding the Mandelbrot and Julia Set
    Understanding the Mandelbrot and Julia Set Jake Zyons Wood August 31, 2015 Introduction Fractals infiltrate the disciplinary spectra of set theory, complex algebra, generative art, computer science, chaos theory, and more. Fractals visually embody recursive structures endowing them with the ability of nigh infinite complexity. The Sierpinski Triangle, Koch Snowflake, and Dragon Curve comprise a few of the more widely recognized iterated function fractals. These recursive structures possess an intuitive geometric simplicity which makes their creation, at least at a shallow recursive depth, easy to do by hand with pencil and paper. The Mandelbrot and Julia set, on the other hand, allow no such convenience. These fractals are part of the class: escape-time fractals, and have only really entered mathematicians’ consciousness in the late 1970’s[1]. The purpose of this paper is to clearly explain the logical procedures of creating escape-time fractals. This will include reviewing the necessary math for this type of fractal, then specifically explaining the algorithms commonly used in the Mandelbrot Set as well as its variations. By the end, the careful reader should, without too much effort, feel totally at ease with the underlying principles of these fractals. What Makes The Mandelbrot Set a set? 1 Figure 1: Black and white Mandelbrot visualization The Mandelbrot Set truly is a set in the mathematica sense of the word. A set is a collection of anything with a specific property, the Mandelbrot Set, for instance, is a collection of complex numbers which all share a common property (explained in Part II). All complex numbers can in fact be labeled as either a member of the Mandelbrot set, or not.
    [Show full text]
  • New Key Exchange Protocol Based on Mandelbrot and Julia Fractal Sets Mohammad Ahmad Alia and Azman Bin Samsudin
    302 IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.2, February 2007 New Key Exchange Protocol Based on Mandelbrot and Julia Fractal Sets Mohammad Ahmad Alia and Azman Bin Samsudin, School of Computer Sciences, Universiti Sains Malaysia. Summary by using two keys, a private and a public key. In most In this paper, we propose a new cryptographic key exchange cases, by exchanging the public keys, both parties can protocol based on Mandelbrot and Julia Fractal sets. The Fractal calculate a unique shared key, known only to both of them based key exchange protocol is possible because of the intrinsic [2, 3, 4]. connection between the Mandelbrot and Julia Fractal sets. In the proposed protocol, Mandelbrot Fractal function takes the chosen This paper proposed a new Fractal (Mandelbrot and private key as the input parameter and generates the corresponding public key. Julia Fractal function is then used to Julia Fractal sets) key exchange protocol as a method to calculate the shared key based on the existing private key and the securely agree on a shared key. The proposed method received public key. The proposed protocol is designed to be achieved the secure exchange protocol by creating a resistant against attacks, utilizes small key size and shared secret through the use of the Mandelbrot and Julia comparatively performs faster then the existing Diffie-Hellman Fractal sets. key exchange protocol. The proposed Fractal key exchange protocol is therefore an attractive alternative to traditional 2.1. Fractals number theory based key exchange protocols. A complex number consists of a real and an imaginary Key words: Fractals Cryptography, Key- exchange protocol, Mandelbrot component.
    [Show full text]
  • Fractals and the Mandelbrot Set
    Fractals and the Mandelbrot Set Matt Ziemke October, 2012 Matt Ziemke Fractals and the Mandelbrot Set Outline 1. Fractals 2. Julia Fractals 3. The Mandelbrot Set 4. Properties of the Mandelbrot Set 5. Open Questions Matt Ziemke Fractals and the Mandelbrot Set What is a Fractal? "My personal feeling is that the definition of a 'fractal' should be regarded in the same way as the biologist regards the definition of 'life'." - Kenneth Falconer Common Properties 1.) Detail on an arbitrarily small scale. 2.) Too irregular to be described using traditional geometrical language. 3.) In most cases, defined in a very simple way. 4.) Often exibits some form of self-similarity. Matt Ziemke Fractals and the Mandelbrot Set The Koch Curve- 10 Iterations Matt Ziemke Fractals and the Mandelbrot Set 5-Iterations Matt Ziemke Fractals and the Mandelbrot Set The Minkowski Fractal- 5 Iterations Matt Ziemke Fractals and the Mandelbrot Set 5 Iterations Matt Ziemke Fractals and the Mandelbrot Set 5 Iterations Matt Ziemke Fractals and the Mandelbrot Set 8 Iterations Matt Ziemke Fractals and the Mandelbrot Set Heighway's Dragon Matt Ziemke Fractals and the Mandelbrot Set Julia Fractal 1.1 Matt Ziemke Fractals and the Mandelbrot Set Julia Fractal 1.2 Matt Ziemke Fractals and the Mandelbrot Set Julia Fractal 1.3 Matt Ziemke Fractals and the Mandelbrot Set Julia Fractal 1.4 Matt Ziemke Fractals and the Mandelbrot Set Matt Ziemke Fractals and the Mandelbrot Set Matt Ziemke Fractals and the Mandelbrot Set Julia Fractals 2 Step 1: Let fc : C ! C where f (z) = z + c. 1 Step 2: For each w 2 C, recursively define the sequence fwngn=0 1 where w0 = w and wn = f (wn−1): The sequence wnn=0 is referred to as the orbit of w.
    [Show full text]
  • An Introduction to the Mandelbrot Set
    An introduction to the Mandelbrot set Bastian Fredriksson January 2015 1 Purpose and content The purpose of this paper is to introduce the reader to the very useful subject of fractals. We will focus on the Mandelbrot set and the related Julia sets. I will show some ways of visualising these sets and how to make a program that renders them. Finally, I will explain a key exchange algorithm based on what we have learnt. 2 Introduction The Mandelbrot set and the Julia sets are sets of points in the complex plane. Julia sets were first studied by the French mathematicians Pierre Fatou and Gaston Julia in the early 20th century. However, at this point in time there were no computers, and this made it practically impossible to study the structure of the set more closely, since large amount of computational power was needed. Their discoveries was left in the dark until 1961, when a Jewish-Polish math- ematician named Benoit Mandelbrot began his research at IBM. His task was to reduce the white noise that disturbed the transmission on telephony lines [3]. It seemed like the noise came in bursts, sometimes there were a lot of distur- bance, and sometimes there was no disturbance at all. Also, if you examined a period of time with a lot of noise-problems, you could still find periods without noise [4]. Could it be possible to come up with a model that explains when there is noise or not? Mandelbrot took a quite radical approach to the problem at hand, and chose to visualise the data.
    [Show full text]
  • Connectedness of Julia Sets and the Mandelbrot
    Math 207 - Spring '17 - Fran¸coisMonard 1 Lecture 20 - Introduction to complex dynamics - 3/3: Mandelbrot and friends Outline: • Recall critical points and behavior of functions nearby. • Motivate the proof on connectedness of polynomials for Julia sets. • Mandelbrot set. • The cubic family. Zoology of Fatou sets Here, we will merely state facts about the types of behavior one can expect on the Fatou set. We have seen an example before, which was the basin of attraction of a fixed points. Let Ω a connected component of the Fatou set. Since the family fF ng has normally convergent subsequences there (call accumulation function its limit), one may ask the question: how many n accumulation functions does the sequence fF gn have ? If it is a finite number, we may expect to be in the basin of attraction of an attracting/superattracting or neutral periodic cycle. In the latter case, such connected components are referred to as parabolic cycles. For example, it can be shown that a neighborhood of a neutral fixed point is split into an even number of sectors, where orbits alternatively converge or diverge away from that fixed point. Finally, if the number of accumulation n functions of the sequence fF gn is infinite (think for instance of the sequence of iterates of the map F (z) = e2iπαz with α irrational), depending on the connectedness of Ω, it may lead to a so-called Siegel disk or a Herman ring. The interested reader may find more detail on this topic in [DK], Article \Julia sets" by Linda Keen. Quasi self-similarity of Julia sets The fractal quality of Julia sets is formalized by the concept of quasi-self-similarity.
    [Show full text]
  • A Massive Fractal in Days, Not Years
    Journal of Computer Graphics Techniques Vol. 9, No. 2, 2020 http://jcgt.org A Massive Fractal in Days, Not Years Theodore Kim Tom Duff Yale University Pixar Animation Studios Figure 1. Path-traced rendering of a quaternion Julia set in the shape of the Stanford Bunny containing 10.48 billion triangles c Disney/Pixar. Abstract We present a new, numerically stable algorithm that allows us to compute a previously- infeasible, fractalized Stanford Bunny composed of 10 billion triangles. Recent work [Kim 2015] showed that it is feasible to compute quaternion Julia sets that conform to any arbitrary shape. However, the scalability of the technique was limited because it used high-order ratio- nals requiring 80 bits of precision. We address the sources of numerical difficulty and allow the same computation to be performed using 64 bits. Crucially, this enables computation on the GPU, and computing a 10-billion-triangle model now takes 17 days instead of 10 years. We show that the resulting mesh is useful as a test case for a distributed renderer. 26 ISSN 2331-7418 Journal of Computer Graphics Techniques Vol. 9, No. 2, 2020 A Massive Fractal in Days, Not Years http://jcgt.org 1. Introduction Quaternion Julia sets, 4D generalizations of Mandelbrot and Julia sets, were first discovered and popularized in the 1980s [Norton 1982; Hart et al. 1989]. However, it was never clear how to introduce high-level controls that generated anything but a limited set of taffy-like shapes, so research on the topic stalled. Recently, Kim [2015] showed that an expressive set of high-level controls can be introduced by using quaternion rational functions.
    [Show full text]
  • Distance Estimation Method for Drawing Mandelbrot and Julia Sets
    Distance estimation method for drawing Mandelbrot and Julia sets Dr. Lindsay Robert Wilson http://imajeenyus.com 20/11/12 Credit & sources The distance estimation method (DEM) is one of several techniques commonly used for visualising Mandelbrot and Julia sets. It is slightly more complicated than the simplistic “in or out” colouring scheme, but gives much better results, especially in regions which are “filamentous” - those that have a lot of structure, but contain relatively little of the set. However, I couldn’t find a really good explanation of how the DEM works, so I’ve tried to provide a decent description and examples here. I won’t go into detail of the different colour gradient mappings I’ve used - there’s many different ways of achieving a “nice” result, and it’s best just to play around with them. The main inspiration was Iñigo Quilez’ page at http://www.iquilezles.org/www/articles/distancefractals/ distancefractals.htm. Other good references are http://mrob.com/pub/muency/distanceestimator.html and http://en.wikibooks.org/wiki/Fractals/Iterations_in_the_complex_plane/Julia_set. For a good overview of the complex quadratic polynomial and its derivatives, see http://en.wikipedia.org/wiki/Complex_quadratic_ polynomial. Mandelbrot set recap 2 The Mandelbrot set is the set of all points c in the complex plane for which the iterative process zn+1 = zn + c, z0 = 0+0i is bounded. Pick a point c and calculate a series of zn+1. If the modulus of zn+1 heads off to infinity, then c is outside the set, otherwise c is inside. In practice, this is determined by comparing |zn+1| against a limit radius - if the modulus is greater than the limit radius, the original c point is assumed to be outside.
    [Show full text]
  • A Criterion for Sierpinski Curve Julia Sets
    TOPOLOGY PROCEEDINGS Volume 30, No. 1, 2006 Pages 1-17 A CRITERION FOR SIERPINSKI CURVE JULIA SETS ROBERT L. DEVANEY AND DANIEL M. LOOK Abstract. This paper presents a criterion for a Julia set of a 2 2 rational map of the form F¸(z) = z + ¸=z to be a Sierpinski curve. 1. Introduction In this paper we discuss the one-parameter family of rational 2 2 maps given by F¸(z) = z + ¸=z where ¸ 6= 0 is a complex param- eter. Our goal is to give a criterion for the Julia set of such a map to be a Sierpinski curve. A Sierpinski curve is a rather interesting topological space that is homeomorphic to the well known Sierpin- ski carpet fractal. The interesting topology arises from the fact that a Sierpinski curve contains a homeomorphic copy of any one- dimensional plane continuum. Hence, any such set is a universal planar continuum. When ¸ is small, this family of maps may be regarded as a sin- gular perturbation of the map z 7! z2. The Julia set of z2 is well understood: it is the unit circle in C, and the restriction of the map to the Julia set is just the angle doubling map on the circle. For ¸ 6= 0, the Julia set changes dramatically. In [1], it is shown that, in every neighborhood of ¸ = 0 in the parameter plane, there are in¯nitely many disjoint open sets of parameters for which the Ju- lia set is a Sierpinski curve. This result should be contrasted with n m the situation that occurs for the related family G¸(z) = z + ¸=z with 1=n + 1=m < 1.
    [Show full text]