Fail:Mandelbrot Set Image 03 by Aokoroko.jpg

Lehekülje sisu ei toetata teistes keeltes.
Klõps ikoonil viib faili leheküljele Wikimedia Commonsis.
Allikas: Vikipeedia

Algfail(3840 × 3840 pikslit, faili suurus: 19,01 MB, MIME tüüp: image/jpeg)

Lühikirjeldus

Kirjeldus
Русский: Фрагмент множества Мандельброта, координаты центра: -1.96680095, 0.00000478, ширина изображения 0.00000014
English: Fragment of the Mandelbrot set, coordinates: -1.96680095, 0.00000478, width 0.00000014
Kuupäev
Allikas Üleslaadija oma töö
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.

Litsents

Autoriõiguse omanikuna avaldan selle teose järgmise litsentsi all:
w:et:Creative Commons
omistamine sarnaselt jagamine
See fail kuulub jurisdiktsiooniga sidumata Creative Commonsi litsentsi "Autorile viitamine + jagamine samadel tingimustel 3.0" alla.
Tohid:
  • jagada – teost kopeerida, levitada ja edastada
  • kohandada – valmistada muudetud teoseid
Järgmistel tingimustel:
  • omistamine – Pead materjali sobival viisil autorile omistama, tooma ära litsentsi lingi ja märkima ära, kas on tehtud muudatusi. Sobib, kui teed seda mõistlikul viisil, kuid seejuures ei tohi jääda muljet, et litsentsiandja tõstab esile sind või seda, et sina materjali kasutad.
  • sarnaselt jagamine – Kui töötled, kujundad ümber või arendad materjali edasi, siis pead oma töö levitamiseks kasutama sama litsentsi, mille all on algupärand, või ühilduvat litsentsi.

Pealdised

Lisa üherealine seletus sellest, mida fail esitab

Selles failis kujutatud üksused

kujutab

Faili ajalugu

Klõpsa kuupäeva ja kellaaega, et näha sel ajahetkel kasutusel olnud failiversiooni.

Kuupäev/kellaaegPisipiltMõõtmedKasutajaKommentaar
viimane25. aprill 2017, kell 15:51Pisipilt versioonist seisuga 25. aprill 2017, kell 15:513840 × 3840 (19,01 MB)AokorokoImprove resolution
1. veebruar 2017, kell 04:15Pisipilt versioonist seisuga 1. veebruar 2017, kell 04:151920 × 1920 (3,38 MB)AokorokoUser created page with UploadWizard

Seda faili ei kasuta ükski lehekülg.

Globaalne failikasutus

Järgmised muud vikid kasutavad seda faili:

Metaandmed