Сығанаҡ файл ((3840 × 3840 пиксель, файл күләме: 15,93 МБ, MIME-төр: image/jpeg))

Ҡыҫҡа аңлатма

Тасуирлау
Русский: Участок множества Мандельброта. Координаты центра:-1.7433419053321, 0.0000907687489, ширина 0.00000000374
English: The piece of Mandelbrot set. Coordinates:-1.7433419053321, 0.0000907687489, width 0.00000000374
Көнө
Сығанаҡ Шәхси эш
Автор 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.7433419053321; ordi=0.0000907687489; size=0.00000000374;
q:array[0..255]of byte=(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,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,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,'Mandelbrot02.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+227)/255)); pal[a][1]:=round(127+127*sin(2*pi*(a+227)/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:ru:Creative Commons
авторлыҡты асыҡлау шул уҡ шарттарҙа
Был файл Creative Commons Attribution-Share Alike 3.0 Unported лицензияһы буйынса рөсхәт ителә.
Һеҙгә мөмкин:
  • бүлешергә – эште күсереп алырға, таратырға һәм тапшырырға
  • үҙгәртергә – эште яраҡлаштырырға
Түбәндәге шарттарҙа:
  • авторлыҡты асыҡлау – Авторлыҡты, лицензияға һылтанманы һәм авторҙың ниндәй ҙә булһа үҙгәрештәр индергәнме-юҡмы икәнлеген күрһәтергә тейешһегеҙ. Быны теләһә ниндәй ысул менән эшләргә мөмкин, әммә лицензиат һеҙгә ярҙам иткән йәки ошо әҫәрҙе ҡулланыуығыҙҙы хуплаған тигән тойғо тыуырға тейеш түгел.
  • шул уҡ шарттарҙа – Әгәр һеҙ был әҫәрҙе үҙгәртәһегеҙ, уның нигеҙендә яңы әҫәр яҙаһығыҙ икән, сығанаҡ әҫәр рөхсәтнамәһен йәки шуға тура килә торған лицензия ҡулланырға тейешһегеҙ.


العربية  جازايرية  беларуская  беларуская (тарашкевіца)  български  বাংলা  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  toki pona  Türkçe  українська  vèneto  Tiếng Việt  中文  中文(简体)  中文(繁體)  +/−

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл

Элементы, изображённые на этом файле

һүрәтләнгән объект

У этого свойства есть некоторое значение без элемента в

Файл тарихы

Файлдың күрһәтелгән ваҡытта ниндәй өлгөлә булғанын ҡарар өсөн баҫығыҙ: Дата/ваҡыт

Дата/ваҡытМиниатюраҮлсәмдәреҠатнашыусыИҫкәрмә
ағымдағы06:49, 25 апрель 201706:49, 25 апрель 2017 өлгөһө өсөн миниатюра3840 × 3840 (15,93 МБ)AokorokoImprove resolution and quality
01:14, 1 февраль 201701:14, 1 февраль 2017 өлгөһө өсөн миниатюра2000 × 2000 (5,55 МБ)AokorokoUser created page with UploadWizard

Был файлды ҡулланған биттәр юҡ.

Файлды глобаль ҡулланыу

Был файл түбәндәге википроекттарҙа ҡулланыла:

Метамәғлүмәттәр