Jump to content

File:Mandelbrot Set Image 05 by Aokoroko.jpg

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
From Wikipedia, the free encyclopedia

Original file (3,840 × 3,840 pixels, file size: 19.49 MB, MIME type: image/jpeg)

Summary

Description
Русский: Участок множества Мандельброта. Координаты центра: -0.3736977, 0.65913254, ширина: 0.00032
English: The piece of Mandelbrot set. Coordinates: -0.3736977, 0.65913254, width: 0.00032
Date
Source Own work
Author 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.3736977; ordi=0.65913254; size=0.00032;
q:array[0..255]of byte=(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,234,94,198,83,178,216,183,78,41,84,119,63,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,'Mandelbrot05.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+28)/255)); pal[a][1]:=round(127+127*sin(2*pi*(a+28)/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.

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

21 June 2010

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current06:52, 25 April 2017Thumbnail for version as of 06:52, 25 April 20173,840 × 3,840 (19.49 MB)AokorokoImprove resolution and quality
17:22, 1 April 2017Thumbnail for version as of 17:22, 1 April 20171,920 × 1,920 (5.38 MB)AokorokoBigger size
01:21, 1 February 2017Thumbnail for version as of 01:21, 1 February 20171,000 × 1,000 (1.25 MB)AokorokoUser created page with UploadWizard

The following page uses this file:

Global file usage

The following other wikis use this file:

Metadata