Исходный файл(3840 × 3840 пкс, размер файла: 21,65 Мб, MIME-тип: image/jpeg)

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

Описание
Русский: Участок множества Мандельброта. Координаты центра: -0.5626783725, 0.6567946173, ширина 0.000000075
English: The piece of Mandelbrot set. Coordinates: -0.5626783725, 0.6567946173, width 0.000000075
Дата
Источник Собственная работа
Автор 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.

Лицензирование

Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующей лицензии:
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  Türkçe  toki pona  українська  vèneto  Tiếng Việt  中文  中文(简体)  中文(繁體)  +/−

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

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

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

изображённый объект

image/jpeg

История файла

Нажмите на дату/время, чтобы посмотреть файл, который был загружен в тот момент.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий06:46, 25 апреля 2017Миниатюра для версии от 06:46, 25 апреля 20173840 × 3840 (21,65 Мб)AokorokoImprove resolution and quality
01:05, 1 февраля 2017Миниатюра для версии от 01:05, 1 февраля 20171920 × 1920 (3,08 Мб)AokorokoUser created page with UploadWizard

Следующие 2 страницы используют этот файл:

Глобальное использование файла

Данный файл используется в следующих вики:

Метаданные