File:Preimages of curve ER.png
Page contents not supported in other languages.
Tools
General
Sister projects
In other projects
Appearance
Size of this preview: 600 × 600 pixels. Other resolutions: 240 × 240 pixels | 480 × 480 pixels | 1,000 × 1,000 pixels.
Original file (1,000 × 1,000 pixels, file size: 55 KB, MIME type: image/png)
This is a file from the Wikimedia Commons. The description on its description page there is shown below. |
Contents
Summary
DescriptionPreimages of curve ER.png |
English: preimages[1] of circle : {z:abs(z)=ER} under fc(z)=z*z+c. Preimages of circle from the exterior gives level sets of the escaping time. Exterior of the circle is the trap for escaping points ( target set) |
Date | |
Source | own work with help Mario Rodríguez Riotorto |
Author | Adam majewski |
Other versions |
|
How to run the program
This is batch file for Maxima CAS.
Tested under :
- Maxima version: 5.25.1
- Host type: x86_64-ubuntu-linux-gnu 2.6.32-33-generic
- Lisp implementation type: SBCL
- Lisp implementation version: 1.0.29.11.debian
- G N U P L O T version 4.2 patchlevel 6
- draw package ( "/usr/share/maxima/5.25.1/share/draw/draw.lisp" ) by Mario Rodríguez Riotorto
To run :
- save as m.mac
- open it in Maxima CAS as a batch file:
batch("m.mac")$
Maxima CAS src code
kill(all); /* ------------------ definitions ----------------------------*/ f(z,c):=z*z+c; finverseplus(z):=float(rectform(sqrt(z-c))); finverseminus(z):=-sqrt(z-c); /* computes invese image of input points */ GivePreimage(OldList):= block( [NewL,NewLP,NewLN], NewLP:map(finverseplus,OldList), /* positive preimages */ NewLN:map("-",NewLP), /* negative preimages */ NewL:append(NewLP,NewLN) /* output = all preimages as a list */ ); /* t is an angle in turns */ p(t):=radius*%e^(2*%pi*%i*t); /* ------------------ compilation --------------------------------------*/ compile(all); /*------------------ constant values ---------------------------------- */ c:-0.11+0.65569999*%i; radius:3; /* radius of initial circle */ iMax:100; /* number of points of initial circle */ /* second curve will have 2*iMax = 200 points, third curve will have 2*2*iMax = 400 points .... */ dt:float(1/iMax); /* step of turn */ /* --------------------- main ------------------------------------------*/ /* point to point method of drawing */ /* compute points of curve and save points to the list */ /* points of initial circle l0={z:abs(z)=radius } */ l0:makelist (i*dt, i, 0, iMax); /* list of turns from 0 to 1 */ l0:map(p,l0); /* list of points of circle of fixed radius */ /* list l0 has iMax=100 points list ln has iMax*2^n points List l11 contains 100*2^11=100*2048 =204 800 points */ /* ---------- preimages of circle under fc = equipotential lines --------------------*/ l1:GivePreimage(l0); /* first preimage */ l2:GivePreimage(l1)$ /* second preimage */ l3:GivePreimage(l2)$ l4:GivePreimage(l3)$ l5:GivePreimage(l4)$ l6:GivePreimage(l5)$ l7:GivePreimage(l6)$ l8:GivePreimage(l7)$ l9:GivePreimage(l8)$ l10:GivePreimage(l9)$ l11:GivePreimage(l10)$ l12:GivePreimage(l11)$ l13:GivePreimage(l12)$ l14:GivePreimage(l13)$ /* preimages : - tend to Julia set as n increases - tend to equipotential lines as ER tends to infinity */ /*--- order point according to its argument to join them by lines --*/ /* thx to Mario Rodriguez */ l1: sort(l1, lambda([z1,z2], is(carg(z1) < carg(z2))))$ l2: sort(l2, lambda([z1,z2], is(carg(z1) < carg(z2))))$ l3: sort(l3, lambda([z1,z2], is(carg(z1) < carg(z2))))$ l4: sort(l4, lambda([z1,z2], is(carg(z1) < carg(z2))))$ l5: sort(l5, lambda([z1,z2], is(carg(z1) < carg(z2))))$ /* for more complicated curves points should be ordered by external angle not argument !!!!! also points are so dense on the curve so joining is not needed */ /*----------------------- draw -----------------------------------*/ load(draw); draw2d( terminal = 'png, file_name = "m4", dimensions = [1000,1000], title= "Preimages of circle (z:abs(z)=ER) under fc(z)=z*z -0.11+0.65569999*i; ", key = "L0", xlabel = "re ", ylabel = "im", points_joined = true, point_type = dot, point_size = 5, color = green, points(map(realpart, l0),map(imagpart, l0)), color = black, key = "f^(-1)(L0)", points(map(realpart, l1),map(imagpart, l1)), key = "f^(-2)(L0)", points(map(realpart, l2),map(imagpart, l2)), key = "f^(-3)(L0)", points(map(realpart, l3),map(imagpart, l3)), key = "f^(-4)(L0)", points(map(realpart, l4),map(imagpart, l4)), key = "f^(-5)(L0)", points(map(realpart, l5),map(imagpart, l5)), color = red, points_joined = false, color = red, key = "f^(-14)(L0)", points(map(realpart, l14),map(imagpart, l14)) );
How the program works
Steps
- compute iMax points of circle with radius ER centered at the origin and save the to the l0 list
- compute preimages of points of circle using and save the to the l1 list
- repeat second step n-times
- draw above lists
Escape radius
Here is definition
Lists
Number of points in the list :
- list l0 has iMax points
- list l1 has 2*iMax points
- list ln has points
For example when iMax=100 then l11 has 100*2^11=100*2048 =204 800 points
List l0 = circle
Here we use :
- exponential form of complex number
- turn units of angles
so to compute points of circle centered at origin and radius=ER we use function :
p(t):=radius*%e^(2*%pi*%i*t);
List l0 consist of iMax points for angle from 0 to 1 ( in turns).
References
Licensing
I, the copyright holder of this work, hereby publish it under the following license:
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
Items portrayed in this file
depicts
some value
12 September 2011
image/png
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 10:04, 12 September 2011 | 1,000 × 1,000 (55 KB) | Soul windsurfer |
File usage
The following 4 pages use this file:
Retrieved from "https://en.wikibooks.org/wiki/File:Preimages_of_curve_ER.png"