Plik:Centers8.png

Treść strony nie jest dostępna w innych językach.
Ten plik jest umieszczony w Wikimedia Commons
Z Wikipedii, wolnej encyklopedii

Rozmiar pierwotny(1000 × 797 pikseli, rozmiar pliku: 781 KB, typ MIME: image/png)

Opis

Opis
English: Centers of 983 hyperbolic components of Mandelbrot set with respect to complex quadratic polynomial for period 1-10
Polski: Punkty centralne 983 składowych zbioru Mandelbrota dla okresów 1-10
 
Ta PNG grafika rastrowa została stworzona za pomocą Gnuplot.
Data 4.01.2009
Źródło Praca własna
Autor Adam majewski

Long description

Program input

No input is needed

Program output

  • png file : centers_9_new.png
  • txt files with numerical values of centers in big float Maxima format ( one file for each period)

Parts of the program

  • definition of functions and constants
  • loading packages
  • for periods 1-period_Max
    • computation of irreducible polynomials for each period
    • computation of centers for each period : centers[period]
    • saving centers to text files : centers_bf_p.txt
    • computes number of centers for each period ( l[period]) and for all periods 1-period_Max ( N_of_centers)
  • drawing to centers_9_new.png file

Software needed

Tested on versions:

  • wxMaxima 0.7.6
  • Maxima 5.16.3
  • Lisp GNU Common Lisp (GCL) GCL 2.6.8 (aka GCL)
  • Gnuplot Version 4.2 patchlevel 3

Algorithm

See Wikibooks for detailes

Questions

  • Can it be done for higher periods ? For me (GCL and wxMaxima) it fails for period 10 and precision[1] fpprec:150 or 256, but for period 10 and fpprec:300 I can run it from console or XMaxima, not wxMaxima
  • How to save it as svg file ?

Compare with :

Maxima CAS src code

 /*
 Maxima batch script 
 because :
 "this does works in the console and xMaxima, but not in wxMaxima " Julien B. O. - jul059
 http://sourceforge.net/tracker/index.php?func=detail&aid=1571099&group_id=4933&atid=104933
 handling of large factorials
 for periods >=10 run from console or XMaxima, not wxMaxima
 for example from console under windows run:
 cd C:\Program Files\Maxima-5.16.3\bin
 maxima
 batch("D:/doc/programming/maxima/batch/MandelbrotCenters/mset_centers_10_new_png.mac")$
 ----------------
 notation and idea is based on paper :
 V Dolotin , A Morozow : On the shapes of elementary domains or why Mandelbrot set is made from almost 
 ideal   circles ?
 */
 start:elapsed_run_time (); 
 load(cpoly); 
 period_Max:10;
 

/* basic funtion  = monic and centered complex quadratic polynomial 
 http://en.wikipedia.org/wiki/Complex_quadratic_polynomial
 */
 f(z,c):=z*z+c $
 
/* iterated function */
 fn(n, z, c) :=
  if n=1 	then f(z,c)
  else f(fn(n-1, z, c),c) $

 /* roots of Fn are periodic point of  fn function */
 Fn(n,z,c):=fn(n, z, c)-z $ 
 
/* gives irreducible divisors of polynomial Fn[p,z=0,c] */
 GiveG[p]:=
 block(
 [f:divisors(p),t:1],
 g,
 f:delete(p,f),
 if p=1 
 then return(Fn(p,0,c)),
 for i in f do t:t*GiveG[i],
 g: Fn(p,0,c)/t,  
 return(ratsimp(g))
  )$

 /* use :
 load(cpoly); 
 roots:GiveRoots_bf(GiveG[3]); 
 */
 GiveRoots_bf(g):=
 block(
 [cc:bfallroots(expand(%i*g)=0)],
 cc:map(rhs,cc),/* remove string "c=" */
 return(cc)
  )$ 
 
GiveCenters_bf(p):=
 block(
 [g,
 cc:[]],
 fpprintprec:10, /* number of digits to display */
 if p<7 then fpprec:16
 elseif p=7 then fpprec:32
 elseif p=8 then fpprec:64
 elseif p=9 then fpprec:128
 elseif p=10 then fpprec:300,
 g:GiveG[p],
 cc:GiveRoots_bf(g),
 return(cc)
 );
 N_of_centers:0;
 for period:1 thru period_Max step 1 do
 (
 centers[period]:GiveCenters_bf(period), /* compute centers */
 
/* save output to file as Maxima expressions */
 stringout(concat("centers_bf_",string(period),".txt"),centers[period]),
 l[period]: length(centers[period]),
 N_of_centers:N_of_centers+l[period]
 ); 
 
stop:elapsed_run_time ();
 time:fix(stop-start);  
 

load(draw);
 
draw2d(
 file_name = "centers_10_new",
 terminal  = 'png,
 pic_width=1000, 
 pic_height= 1000,
 yrange = [-1.5,1.5],
 xrange = [-2.5,0.5],
 title= concat("centers of ",string(N_of_centers)," hyperbolic components of Mandelbrot set for periods 1- ",string(period_Max)," made in ",string(time)," sec"),
 user_preamble="set size square;set key out;set key top left",
 xlabel     = "re ",
 ylabel     = "im",
 point_type    = filled_circle,
 points_joined = false,
 point_size    = 0.5,
 /* in reversed order of periods because number of centers is proportional to period */
 key = concat(string(l[10])," period 10 components"),
 color		  =purple,
 points(map(realpart, centers[10]),map(imagpart, centers[10])),
 key = concat(string(l[9])," period 9 components"),
 color		  =gray,
 points(map(realpart, centers[9]),map(imagpart, centers[9])),
 key = concat(string(l[8])," period 8 components"),
 color		  =black,
 points(map(realpart, centers[8]),map(imagpart, centers[8])),
 key = concat(string(l[7])," period 7 components"),
 color		  =navy,
 points(map(realpart, centers[7]),map(imagpart, centers[7])),
 key = concat(string(l[6])," period 6 components"),
 color		  =yellow,
 points(map(realpart, centers[6]),map(imagpart, centers[6])),
 key = concat(string(l[5])," period 5 components"),
 color		  =brown,
 points(map(realpart, centers[5]),map(imagpart, centers[5])),
 key = concat(string(l[4])," period 4 components"),
 color		  =magenta,
 points(map(realpart, centers[4]),map(imagpart, centers[4])),
 key = concat(string(l[3])," period 3 components"),
 color		  =blue,
 points(map(realpart, centers[3]),map(imagpart, centers[3])), 
 key = concat(string(l[2])," period 2 components"),
 color		  =green,
 points(map(realpart, centers[2]),map(imagpart, centers[2])),
 key = concat(string(l[1])," period 1 component "),
 color		  =red,
 points(map(realpart, centers[1]),map(imagpart, centers[1]))
 )$

References

  1. wikibooks : Fractals and numerical precision

Licencja

Ja, właściciel praw autorskich do tego dzieła, udostępniam je na poniższych licencjach
w:pl:Licencje Creative Commons
uznanie autorstwa na tych samych warunkach
Wolno:
  • dzielić się – kopiować, rozpowszechniać, odtwarzać i wykonywać utwór
  • modyfikować – tworzyć utwory zależne
Na następujących warunkach:
  • uznanie autorstwa – musisz określić autorstwo utworu, podać link do licencji, a także wskazać czy utwór został zmieniony. Możesz to zrobić w każdy rozsądny sposób, o ile nie będzie to sugerować, że licencjodawca popiera Ciebie lub Twoje użycie utworu.
  • na tych samych warunkach – Jeśli zmienia się lub przekształca niniejszy utwór, lub tworzy inny na jego podstawie, można rozpowszechniać powstały w ten sposób nowy utwór tylko na podstawie tej samej lub podobnej licencji.
GNU head Udziela się zgody na kopiowanie, rozpowszechnianie oraz modyfikowanie tego dokumentu zgodnie z warunkami GNU Licencji Wolnej Dokumentacji, w wersji 1.2 lub nowszej opublikowanej przez Free Software Foundation; bez niezmiennych sekcji, bez treści umieszczonych na frontowej lub tylnej stronie okładki. Kopia licencji załączona jest w sekcji zatytułowanej GNU Licencja Wolnej Dokumentacji.
Możesz wybrać, którą licencję chcesz zastosować.

Podpisy

Dodaj jednolinijkowe objaśnienie tego, co ten plik pokazuje

Obiekty przedstawione na tym zdjęciu

przedstawia

image/png

5e7dd51bb3c4d466d3da432c0d1b231080bfaffc

800 197 bajt

797 piksel

1000 piksel

Historia pliku

Kliknij na datę/czas, aby zobaczyć, jak plik wyglądał w tym czasie.

Data i czasMiniaturaWymiaryUżytkownikOpis
aktualny12:02, 6 maj 2017Miniatura wersji z 12:02, 6 maj 20171000 × 797 (781 KB)ShiftchangeCropped white space above and below image.
15:24, 30 mar 2009Miniatura wersji z 15:24, 30 mar 20091000 × 1000 (13 KB)Soul windsurfercenters for periods 1-10
15:53, 15 mar 2009Miniatura wersji z 15:53, 15 mar 20091000 × 1000 (10 KB)Soul windsurferperiods 1-9
14:33, 4 sty 2009Miniatura wersji z 14:33, 4 sty 20091000 × 1000 (9 KB)Soul windsurfer{{Information |Description={{en|1=Centers of hyperebolic components of Mandelbrot set with respect to complex quadratic polynomial for period 1-8 }} {{pl|1=Punkty centralne składowych zbioru Mandelbrota dla okresów 1-8 }} |Source=Own work |Author=[[User

Poniższa strona korzysta z tego pliku:

Globalne wykorzystanie pliku

Ten plik jest wykorzystywany także w innych projektach wiki: