Przejdź do zawartości

Plik:Mandelbrot Set Image 03 by Aokoroko.jpg

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

Rozmiar pierwotny(3840 × 3840 pikseli, rozmiar pliku: 19,01 MB, typ MIME: image/jpeg)

Opis

Opis
Русский: Фрагмент множества Мандельброта, координаты центра: -1.96680095, 0.00000478, ширина изображения 0.00000014
English: Fragment of the Mandelbrot set, coordinates: -1.96680095, 0.00000478, width 0.00000014
Data
Źródło Praca własna
Autor Aokoroko

Source code

Practically I use the application written by me in FASM language because of the speed advantages. But for your better understanding I have rewrote it in Pascal language. This code can be compiled with Delphi or with Free Pascal. The application produces the image of any reasonable given width and height.

P.S. I apologize for so many values in q:array[0..255]of byte but they are necessary for my palette design.

{$APPTYPE CONSOLE}
{$N+}
{Author: https://commons.wikimedia.org/wiki/User:Aokoroko}

const
absc=-1.96680095; ordi=0.00000478; size=0.00000014;
q:array[0..255]of byte=(234,94,198,83,178,216,183,78,41,84,119,63,211,71,123,38,
223,73,197,249,126,227,211,5,36,36,128,5,151,2,198,166,197,181,142,52,174,151,
244,164,255,62,173,75,21,197,126,225,130,146,244,175,86,1,180,253,198,191,50,36,
233,200,150,221,176,73,23,161,71,224,41,69,139,245,44,40,68,45,147,127,73,39,
156,189,191,20,19,15,27,203,206,97,156,111,189,126,87,209,209,36,23,17,15,49,
172,58,146,65,93,214,80,80,168,177,231,81,122,75,196,189,141,185,105,138,152,
225,171,28,120,103,29,13,140,172,20,235,214,174,237,70,179,188,127,169,40,58,
242,93,32,252,78,13,26,221,141,178,25,171,4,79,231,137,83,113,230,88,90,124,18,
217,194,46,236,126,32,228,103,53,206,150,28,159,237,138,83,114,58,47,176,254,
161,177,138,24,191,38,59,225,182,112,250,39,10,47,2,96,101,93,21,116,129,117,
172,209,145,64,95,149,223,155,65,178,142,224,92,93,159,199,116,52,178,214,192,
230,47,198,68,75,179,0,8,220,51,69,171,81,41,95,108,20,121,18,215,15,75,255);

var
f:file;
horiz,vert,a,b,t,i,j,l:longint;
c,d,cc,dd,m,n,mm,nn,step,absc2,ordi2:extended;
s:array[0..30000]of array[0..2]of byte;
z:array[0..2]of longint;
pal:array[0..255]of array[0..2]of byte;
h:array[0..13]of longint=($4D42,0,0,54,40,0,0,$180001,0,0,2834,2834,0,0);


begin
  write('Width: '); readln(horiz); write('Height: '); readln(vert);
  h[5]:=horiz; h[6]:=vert;
  a:=horiz*3; if (a and 3<>0) then a:=(a+4) and $FFFFFFFC; h[9]:=a*vert; h[1]:=h[9]+54;
  assign(f,'Mandelbrot03.bmp'); rewrite(f,1);
  blockwrite(f,h,2); blockwrite(f,h[1],52);
  for a:=0 to 254 do
  begin
    pal[a][0]:=round(127+127*cos(2*pi*(a+16)/255)); pal[a][1]:=round(127+127*sin(2*pi*(a+16)/255)); pal[a][2]:=q[a]
  end;
  for a:=0 to 2 do pal[255][a]:=255;
  step:=size/(horiz shl 3);
  absc2:=absc-step*(horiz shl 3-1)/2; ordi2:=ordi-step*(vert shl 3-1)/2;
  for b:=0 to vert-1 do
  begin
    nn:=b shl 3;
    for a:=0 to horiz-1 do
    begin
      mm:=a shl 3;
      for l:=0 to 2 do z[l]:=0;
      for j:=0 to 7 do
      begin
        n:=ordi2+(nn+j)*step;
        for i:=0 to 7 do
        begin
          m:=absc2+(mm+i)*step;
          c:=m; d:=n; t:=4081;
          repeat cc:=c*c; dd:=d*d; d:=(c+c)*d+n; c:=cc-dd+m; dec(t) until (t=0) or (cc+dd>1000000.0);
          if (t=0) then t:=255 else t:=t mod 255;
          for l:=0 to 2 do z[l]:=z[l]+pal[t][l]
        end
      end;
      for l:=0 to 2 do s[a][l]:=z[l] shr 6
    end;
    blockwrite(f,s,h[9] div vert);
    write('Done: ',b+1,chr(13))
  end;
  close(f)
end.

Licencja

Ja, właściciel praw autorskich do tego dzieła, udostępniam je na poniższej licencji
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.

Podpisy

Dodaj jednolinijkowe objaśnienie tego, co ten plik pokazuje

Obiekty przedstawione na tym zdjęciu

przedstawia

Historia pliku

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

Data i czasMiniaturaWymiaryUżytkownikOpis
aktualny14:51, 25 kwi 2017Miniatura wersji z 14:51, 25 kwi 20173840 × 3840 (19,01 MB)AokorokoImprove resolution
03:15, 1 lut 2017Miniatura wersji z 03:15, 1 lut 20171920 × 1920 (3,38 MB)AokorokoUser created page with UploadWizard

Żadna strona nie korzysta z tego pliku.

Globalne wykorzystanie pliku

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

Metadane