Przejdź do zawartości

Plik:Mandelbrot Set Image 01 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: 21,65 MB, typ MIME: image/jpeg)

Opis

Opis
Русский: Участок множества Мандельброта. Координаты центра: -0.5626783725, 0.6567946173, ширина 0.000000075
English: The piece of Mandelbrot set. Coordinates: -0.5626783725, 0.6567946173, width 0.000000075
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=-0.5626783725; ordi=0.6567946173; size=0.000000075;
q:array[0..255]of byte=(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,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,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,'Mandelbrot01.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+101)/255)); pal[a][2]:=round(127+127*sin(2*pi*(a+101)/255)); pal[a][1]:=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.


العربية  جازايرية  беларуская  беларуская (тарашкевіца)  български  বাংলা  català  čeština  Cymraeg  Deutsch  Schweizer Hochdeutsch  Zazaki  Ελληνικά  English  Esperanto  español  eesti  euskara  فارسی  suomi  français  galego  עברית  हिन्दी  hrvatski  magyar  հայերեն  Bahasa Indonesia  italiano  日本語  Jawa  ქართული  한국어  kurdî  Lëtzebuergesch  lietuvių  македонски  മലയാളം  मराठी  Bahasa Melayu  Nederlands  Norfuk / Pitkern  polski  português  português do Brasil  rumantsch  română  русский  sicilianu  slovenčina  slovenščina  shqip  српски / srpski  svenska  தமிழ்  తెలుగు  ไทย  Tagalog  Türkçe  toki pona  українська  vèneto  Tiếng Việt  中文  中文(简体)  中文(繁體)  +/−

Podpisy

Dodaj jednolinijkowe objaśnienie tego, co ten plik pokazuje

Obiekty przedstawione na tym zdjęciu

przedstawia

image/jpeg

Historia pliku

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

Data i czasMiniaturaWymiaryUżytkownikOpis
aktualny08:46, 25 kwi 2017Miniatura wersji z 08:46, 25 kwi 20173840 × 3840 (21,65 MB)AokorokoImprove resolution and quality
03:05, 1 lut 2017Miniatura wersji z 03:05, 1 lut 20171920 × 1920 (3,08 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