File:Parabolic critical orbits.png
From Wikimedia Commons, the free media repository
Jump to navigation
Jump to search
Size of this preview: 800 × 400 pixels. Other resolutions: 320 × 160 pixels | 640 × 320 pixels | 1,000 × 500 pixels.
Original file (1,000 × 500 pixels, file size: 11 KB, MIME type: image/png)
File information
Structured data
Captions
Summary
[edit]DescriptionParabolic critical orbits.png |
English: Parabolic [1]critical orbits for points on boundary of period 1 hyperbolic component of Mandelbrot set for internal angles from 1/1 to 1/10. Because critical orbit tends to fixed point very slowly there is a gap between critical orbit and fixed point. |
Date | |
Source | Own work with help of Mario Rodríguez Riotorto [2] |
Author | Adam majewski |
-
critical orbit in Siegel disc case (Golden Mean). Rotates around fixed point, do not tends to it.
-
critical orbit tending to period 3 orbit
-
distance between points of critical orbit in case of attracting fixed point
-
Parabolic case
Summary
[edit]There are 3 types of points here :
- blue = critical point
- red = critical orbit ( forward orbit of critical point )
- black = parabolic fixed point ( critical orbit tends to this point )
Because :
- there are only 5000 points of critical orbit on each diagram ( iMax:5000; )
- critical orbit tends to fixed point very slowly
on some images there is a gap between critical orbit and fixed point.
One can also see that :
- the gap is directly proportional to denominator of internal angle
- speed of attraction is directly proportional to internal angle
Here are some example values computed in C program ( note that i is double type not integer, because of integer limits ):
iWidth = 1001 // width of image in pixels PixelWidth = 0.003996 AR = 0.003996 // Radius around attractor denominator = 1 ; Cx = 0.250000000000000; Cy = 0.000000000000000 ax = 0.500000000000000; ay = 0.000000000000000 denominator = 2 ; Cx = -0.750000000000000; Cy = 0.000000000000000 ax = -0.500000000000000; ay = 0.000000000000000 denominator = 3 ; Cx = -0.125000000000000; Cy = 0.649519052838329 ax = -0.250000000000000; ay = 0.433012701892219 denominator = 4 ; Cx = 0.250000000000000; Cy = 0.500000000000000 ax = 0.000000000000000; ay = 0.500000000000000 denominator = 5 ; Cx = 0.356762745781211; Cy = 0.328581945074458 ax = 0.154508497187474; ay = 0.475528258147577 denominator = 6 ; Cx = 0.375000000000000; Cy = 0.216506350946110 ax = 0.250000000000000; ay = 0.433012701892219 denominator = 1 ; i = 243.000000 denominator = 2 ; i = 31 171.000000 denominator = 3 ; i = 3 400 099.000000 denominator = 4 ; i = 333 293 206.000000 denominator = 5 ; i = 29 519 565 177.000000 denominator = 6 ; i = 2 384 557 783 634.000000
where :
C = Cx + Cy*i a = ax + ay*i // fixed point alpha i // number of iterations after which critical point z=0.0 reaches disc around fixed point alpha with radius AR denominator of internal angle = 1/denominator
Note that attraction time i is proportional to denominator.
Now you see what means weakly attracting.
Licensing
[edit]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.
Maxima CAS src code
[edit]Maxima CAS old source code - click on the right to view |
---|
cr1.mac: |
/* this is batch file for Maxima 5.22.1 http://maxima.sourceforge.net/ tested in wxMaxima wxMaxima 0.8.5 using draw package ( interface to gnuplot ) to draw on the screen */ kill(all); /* ---------- functions ---------------------- */ /* conformal map from circle to cardioid ( boundary of period 1 component of Mandelbrot set */ F(w):=w/2-w*w/4; /* circle D={w:abs(w)=1 } where w=l(t,r) t is angle in turns ; 1 turn = 360 degree = 2*Pi radians r is a radius */ ToCircle(t,r):=r*%e^(%i*t*2*%pi); /* http://en.wikipedia.org/wiki/Complex_quadratic_polynomial */ f(z,c):=z*z+c $ GiveCriticalOrbit(c,iMax):= /* computes (without escape test) critical orbit (forward orbit of critical point ) and saves it to the list for draw package */ block( [z,orbit,temp], z:0, /* first point = critical point z:0+0*%i */ orbit:[[realpart(z),imagpart(z)]], for i:1 thru iMax step 1 do ( z:expand(f(z,c)), orbit:endcons([realpart(z),imagpart(z)],orbit)), return(orbit) )$ /* find fixed point alfa , returns a list */ GiveFixed(c):= ( [z], z:float(rectform((1-sqrt(1-4*c))/2)), [[realpart(z),imagpart(z)]] )$ GiveC(angle,radius):= ( [w], /* point of unit circle w:l(internalAngle,internalRadius); */ w:ToCircle(angle,radius), /* point of circle */ float(rectform(F(w))) /* point on boundary of period 1 component of Mandelbrot set */ )$ compile(all)$ /* ---------- constant ---------------------------*/ Numerator :1; DenominatorMax :2; InternalRadius:1; iMax:5000; /* -------------- main ----------------- */ Denominator:1; InternalAngle: Numerator/Denominator; c: GiveC(InternalAngle,InternalRadius); zAlfa1:GiveFixed(c); Orbit1:GiveCriticalOrbit(c,iMax); Denominator:2; InternalAngle: Numerator/Denominator; c: GiveC(InternalAngle,InternalRadius); zAlfa2:GiveFixed(c); Orbit2:GiveCriticalOrbit(c,iMax); Denominator:3; InternalAngle: Numerator/Denominator; c: GiveC(InternalAngle,InternalRadius); zAlfa3:GiveFixed(c); Orbit3:GiveCriticalOrbit(c,iMax); Denominator:4; InternalAngle: Numerator/Denominator; c: GiveC(InternalAngle,InternalRadius); zAlfa4:GiveFixed(c); Orbit4:GiveCriticalOrbit(c,iMax); Denominator:5; InternalAngle: Numerator/Denominator; c: GiveC(InternalAngle,InternalRadius); zAlfa5:GiveFixed(c); Orbit5:GiveCriticalOrbit(c,iMax); Denominator:6; InternalAngle: Numerator/Denominator; c: GiveC(InternalAngle,InternalRadius); zAlfa6:GiveFixed(c); Orbit6:GiveCriticalOrbit(c,iMax); Denominator:7; InternalAngle: Numerator/Denominator; c: GiveC(InternalAngle,InternalRadius); zAlfa7:GiveFixed(c); Orbit7:GiveCriticalOrbit(c,iMax); Denominator:8; InternalAngle: Numerator/Denominator; c: GiveC(InternalAngle,InternalRadius); zAlfa8:GiveFixed(c); Orbit8:GiveCriticalOrbit(c,iMax); Denominator:9; InternalAngle: Numerator/Denominator; c: GiveC(InternalAngle,InternalRadius); zAlfa9:GiveFixed(c); Orbit9:GiveCriticalOrbit(c,iMax); Denominator:10; InternalAngle: Numerator/Denominator; c: GiveC(InternalAngle,InternalRadius); zAlfa10:GiveFixed(c); Orbit10:GiveCriticalOrbit(c,iMax); /*-----------------------------------------------------------------------*/ load(draw); /* ( interface to gnuplot ) by Mario Rodriguez Riotorto http://www.telefonica.net/web2/biomates */ draw( terminal = png, columns =5, file_name = "b", pic_width = 1000, /* Since Maxima 5.23, pic_width and pic_height are deprecated. */ pic_height = 500, /* See option dimensions. To get the same effect, write dimensions=[800,600] */ gr2d( title= "1/1 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* */ color =red, key = "critical orbit", points(Orbit1), /* */ color =black, point_size = 1.4, key = "parabolic fixed point", points(zAlfa1), /* */ color =blue, key = "criitical point", points([0],[0]) ), gr2d( title= " 1/2 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* */ color =red, key = "critical orbit", points(Orbit2), /* */ color =black, point_size = 1.4, key = "parabolic fixed point", points(zAlfa2), /* */ color =blue, key = "criitical point", points([0],[0]) ), gr2d( title= " 1/3 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* */ color =red, key = "critical orbit", points(Orbit3), /* */ color =black, point_size = 1.4, key = "parabolic fixed point", points(zAlfa3), /* */ color =blue, key = "criitical point", points([0],[0]) ), gr2d( title= " 1/4 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* */ color =red, key = "critical orbit", points(Orbit4), /* */ color =black, point_size = 1.4, key = "parabolic fixed point", points(zAlfa4), /* */ color =blue, key = "criitical point", points([0],[0]) ), gr2d( title= " 1/5 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* */ color =red, key = "critical orbit", points(Orbit5), /* */ color =black, point_size = 1.4, key = "parabolic fixed point", points(zAlfa5), /* */ color =blue, key = "criitical point", points([0],[0]) ), gr2d( title= " 1/6 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* */ color =red, key = "critical orbit", points(Orbit6), /* */ color =black, point_size = 1.4, key = "parabolic fixed point", points(zAlfa6), /* */ color =blue, key = "criitical point", points([0],[0]) ), gr2d( title= " 1/7 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* */ color =red, key = "critical orbit", points(Orbit7), /* */ color =black, point_size = 1.4, key = "parabolic fixed point", points(zAlfa7), /* */ color =blue, key = "criitical point", points([0],[0]) ), gr2d( title= " 1/8 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* */ color =red, key = "critical orbit", points(Orbit8), /* */ color =black, point_size = 1.4, key = "parabolic fixed point", points(zAlfa8), /* */ color =blue, key = "criitical point", points([0],[0]) ), gr2d( title= " 1/9 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* */ color =red, key = "critical orbit", points(Orbit9), /* */ color =black, point_size = 1.4, key = "parabolic fixed point", points(zAlfa9), /* */ color =blue, key = "criitical point", points([0],[0]) ), gr2d( title= " 1/10 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* */ color =red, key = "critical orbit", points(Orbit10), /* */ color =black, point_size = 1.4, key = "parabolic fixed point", points(zAlfa10), /* */ color =blue, key = "criitical point", points([0],[0]) ) ); |
Maxima CAS new source code - click on the right to view |
---|
cr2.mac: |
/* this is batch file for Maxima 5.22.1 http://maxima.sourceforge.net/ tested in wxMaxima wxMaxima 0.8.5 using draw package ( interface to gnuplot ) to draw on the screen " Try ?intern(concat("list",123)) :: 32 which assigns 32 to a symbol that you can type in to Maxima as ?LIST123. There is a peculiarity of switching upper and lower case for convoluted reasons. Note that is "::" not ":" RJF " "You can also use eval_string from the package stringproc." Laurent Couraud */ kill(all); /* ---------- functions ---------------------- */ /* conformal map from circle to cardioid ( boundary of period 1 component of Mandelbrot set */ F(w):=w/2-w*w/4; /* circle D={w:abs(w)=1 } where w=l(t,r) t is angle in turns ; 1 turn = 360 degree = 2*Pi radians r is a radius */ ToCircle(t,r):=r*%e^(%i*t*2*%pi); /* http://en.wikipedia.org/wiki/Complex_quadratic_polynomial */ f(z,c):=z*z+c $ GiveCriticalOrbit(c,iMax):= /* computes (without escape test) critical orbit (forward orbit of critical point ) and saves it to the list for draw package */ block( [z,orbit,temp], z:0, /* first point = critical point z:0+0*%i */ orbit:[[realpart(z),imagpart(z)]], for i:1 thru iMax step 1 do ( z:expand(f(z,c)), orbit:endcons([realpart(z),imagpart(z)],orbit)), return(orbit) )$ /* find fixed point alfa , returns a list */ GiveFixed(c):= ( [z], z:float(rectform((1-sqrt(1-4*c))/2)), [[realpart(z),imagpart(z)]] )$ GiveC(angle,radius):= ( [w], /* point of unit circle w:l(internalAngle,internalRadius); */ w:ToCircle(angle,radius), /* point of circle */ float(rectform(F(w))) /* point on boundary of period 1 component of Mandelbrot set */ )$ compile(all)$ /* ---------- constant ---------------------------*/ Numerator :1; DenominatorMax :10; InternalRadius:1; iMax:500; /* -------------- main ----------------- */ for Denominator:1 thru DenominatorMax step 1 do ( InternalAngle: Numerator/Denominator, c: GiveC(InternalAngle,InternalRadius), /* */ eval_string(concat("z",string(Denominator)))::GiveFixed(c), /* */ eval_string(concat("orbit",string(Denominator)))::GiveCriticalOrbit(c,iMax) ); /*-----------------------------------------------------------------------*/ load(draw); /* ( interface to gnuplot ) by Mario Rodriguez Riotorto http://www.telefonica.net/web2/biomates */ draw( terminal = screen, columns =5, file_name = "b", pic_width = 1000, /* Since Maxima 5.23, pic_width and pic_height are deprecated. */ pic_height = 500, /* See option dimensions. To get the same effect, write dimensions=[800,600] */ gr2d( title= "1/1 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* critical orbit */ color =red, points(orbit1), /* parabolic fixed point */ color =black, point_size = 1.4, points(z1), /* criitical point */ color =blue, points([0],[0]) ), gr2d( title= " 1/2 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* criitical orbit */ color =red, points(orbit2), /* parabolic fixed point */ color =black, point_size = 1.4, points(z2), /* criitical point */ color =blue, points([0],[0]) ), gr2d( title= " 1/3 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* critical orbit */ color =red, points(orbit3), /* parabolic fixed point */ color =black, point_size = 1.4, points(z3), /* criitical point */ color =blue, points([0],[0]) ), gr2d( title= " 1/4 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* critical orbit */ color =red, points(orbit4), /* parabolic fixed point */ color =black, point_size = 1.4, points(z4), /* criitical point */ color =blue, points([0],[0]) ), gr2d( title= " 1/5 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* critical orbit */ color =red, points(orbit5), /* parabolic fixed point */ color =black, point_size = 1.4, points(z5), /* criitical point */ color =blue, points([0],[0]) ), gr2d( title= "1/6 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* critical orbit */ color =red, points(orbit6), /* parabolic fixed point */ color =black, point_size = 1.4, points(z6), /* criitical point */ color =blue, points([0],[0]) ), gr2d( title= " 1/7 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* criitical orbit */ color =red, points(orbit7), /* parabolic fixed point */ color =black, point_size = 1.4, points(z7), /* criitical point */ color =blue, points([0],[0]) ), gr2d( title= " 1/8 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* critical orbit */ color =red, points(orbit8), /* parabolic fixed point */ color =black, point_size = 1.4, points(z8), /* criitical point */ color =blue, points([0],[0]) ), gr2d( title= " 1/9 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* critical orbit */ color =red, points(orbit9), /* parabolic fixed point */ color =black, point_size = 1.4, points(z9), /* criitical point */ color =blue, points([0],[0]) ), gr2d( title= " 1/10 ", user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* critical orbit */ color =red, points(orbit10), /* parabolic fixed point */ color =black, point_size = 1.4, points(z10), /* criitical point */ color =blue, points([0],[0]) ) ); |
Newest code
[edit]/* thx to Mario Rodriguez Riotorto www.biomates.net */ kill(all); /* ---------- functions ---------------------- */ /* conformal map from circle to cardioid ( boundary of period 1 component of Mandelbrot set */ F(w):=w/2-w*w/4; /* circle D={w:abs(w)=1 } where w=l(t,r) t is angle in turns ; 1 turn = 360 degree = 2*Pi radians r is a radius */ ToCircle(t,r):=r*%e^(%i*t*2*%pi); /* http://en.wikipedia.org/wiki/Complex_quadratic_polynomial */ f(z,c):=z*z+c $ GiveCriticalOrbit(c,iMax):= /* computes (without escape test) critical orbit (forward orbit of critical point ) and saves it to the list for draw package */ block( [z,orbit,temp], z:0, /* first point = critical point z:0+0*%i */ orbit:[[realpart(z),imagpart(z)]], for i:1 thru iMax step 1 do ( z:expand(f(z,c)), orbit:endcons([realpart(z),imagpart(z)],orbit)), return(orbit) )$ /* find fixed point alfa , returns a list */ GiveFixed(c):= ( [z], z:float(rectform((1-sqrt(1-4*c))/2)), [[realpart(z),imagpart(z)]] )$ GiveC(angle,radius):= ( [w], /* point of unit circle w:l(internalAngle,internalRadius); */ w:ToCircle(angle,radius), /* point of circle */ float(rectform(F(w))) /* point on boundary of period 1 component of Mandelbrot set */ )$ GiveScene(sTitle, zn, orbitn):= gr2d(title= sTitle, user_preamble = "set border 0;set nokey;set size square;set noxtics ;set noytics;", point_type = filled_circle, points_joined = false, point_size = 0.7, /* critical orbit */ color =red, points(orbitn), /* parabolic fixed point */ color =black, point_size = 1.4, points(zn), /* criitical point */ color =blue, points([0],[0]) )$ compile(all)$ /* ---------- constant ---------------------------*/ Numerator :1; DenominatorMax :10; InternalRadius:1; iMax:500; /* -------------- main ----------------- */ scenes:[]; for Denominator:1 thru DenominatorMax step 1 do ( InternalAngle: Numerator/Denominator, c: GiveC(InternalAngle,InternalRadius), scene:GiveScene(string(InternalAngle), GiveFixed(c), GiveCriticalOrbit(c,iMax)), scenes:cons(scene,scenes))$ /*-----------------------------------------------------------------------*/ load(draw); /* ( interface to gnuplot ) by Mario Rodriguez Riotorto http://www.telefonica.net/web2/biomates */ draw( terminal = screen, columns =5, file_name = "b", pic_width = 1000, /* Since Maxima 5.23, pic_width and pic_height are deprecated. */ pic_height = 500, /* See option dimensions. To get the same effect, write dimensions=[800,600] */ scenes );
References
[edit]File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 00:12, 22 January 2012 | 1,000 × 500 (11 KB) | Soul windsurfer (talk | contribs) |
You cannot overwrite this file.
File usage on Commons
The following page uses this file:
File usage on other wikis
The following other wikis use this file: