Сурет:Mandelbrot Set Image 03 by Aokoroko.jpg

Уикипедия — ашық энциклопедиясынан алынған мәлімет
Навигацияға өту Іздеуге өту

Түпнұсқа файл(3840 × 3840 пиксел, файл өлшемі: 19,01 MB, MIME түрі: image/jpeg)

Бұл файл Wikimedia Commons? жобасынан, сондықтан басқа жобаларда да қолдануы мүмкін.

Commons ашық лицензиялы медиа файл қоры. Сіз жобаға көмектесе аласыз.

Ортаққордан қарау Ортаққордан қарау

Түйін

Сипаттамасы
Русский: Фрагмент множества Мандельброта, координаты центра: -1.96680095, 0.00000478, ширина изображения 0.00000014
English: Fragment of the Mandelbrot set, coordinates: -1.96680095, 0.00000478, width 0.00000014
Күні
Көзі Өзімнің туындым
Авторы 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.

Лицензиялау

Мен бұл туындының авторымын, келесі лицензия аясында бұны жариялаймын:
w:en:Creative Commons
атрибуция бірдей шарттарда тарату
Бұл файл Creative Commons Attribution-Share Alike 3.0 Unported лицензиясы бойынша қолжетімді.
Сіз келесі әрекеттерге еркінсіз:
  • бөлісу – туындыны көшіру, тарату және тапсыру
  • мазмұнын өзгерту – туындыны бейімдеу
Келесі ережелерді сақтағанда:
  • атрибуция – Авторлықты белгілеп, лицензияға сілтеме беріп, өзгеріс жасалғанын анықтауыңыз керек. Сіз мұны кез келген орынды жолмен істей аласыз, бірақ лицензиар сізді немесе қолдануыңызды мақұлдайтындай емес.
  • бірдей шарттарда тарату – Материалды араластырсаңыз, түрлендірсеңіз немесе құрастырсаңыз, үлестеріңізді түпнұсқамен бірдей бірдей немесе үйлесімді лицензия бойынша таратуыңыз керек.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

суреттелген нәрсе

some value

object has role ағылшын тілі: photographer ағылшын тілі
Wikimedia username ағылшын тілі: Aokoroko

copyright status ағылшын тілі

copyrighted ағылшын тілі

copyright license ағылшын тілі

inception ағылшын тілі

23 қаңтар, 2012

source of file ағылшын тілі

original creation by uploader ағылшын тілі

Файл тарихы

Файл сол кезде қалай көрінгенін көру үшін күн/уақыт дегенге басыңыз.

Күн/УақытНобайӨлшемдерҚатысушыПікір
қазіргі17:51, 2017 ж. сәуірдің 2517:51, 2017 ж. сәуірдің 25 кезіндегі нұсқасының нобайы3840 × 3840 (19,01 MB)AokorokoImprove resolution
06:15, 2017 ж. ақпанның 106:15, 2017 ж. ақпанның 1 кезіндегі нұсқасының нобайы1920 × 1920 (3,38 MB)AokorokoUser created page with UploadWizard

Бұл файлға еш бет сілтемейді.

Глобалды файл қолданылуы

Бұл файл келесі басқа уикилерде қолданылады:

Метадеректер