test_mandelbrot.lua

Wed, 27 Oct 2010 14:12:51 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Wed, 27 Oct 2010 14:12:51 +0100
changeset 5
fa4d448b07d3
parent 4
caf89bc9100a
permissions
-rw-r--r--

test_mandelbrot.lua: Remove some trailing whitespace

4
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 -- Code originally by Luiz Henrique de Figueiredo
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 -- At http://lua-users.org/lists/lua-l/2010-10/msg00754.html
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 -- Ported to lua-xpm by Matthew Wild
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 local xpm = require "xpm";
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 local N=255
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 local pic = xpm.new(N,N);
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 for i=1,N do
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 local y=2-4*(i-1)/(N-1)
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 for j=1,N do
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 local x=-2+4*(j-1)/(N-1)
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 local xc,yc=x,y
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 local X,Y=0,0
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17 local p=0
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 for n=1,255 do
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19 X,Y = X^2-Y^2+xc, 2*X*Y+yc
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 if X^2+Y^2>4 then p=n break end
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 end
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 pic:setpixel(j, i, ("#%02x%02x%02x"):format(p,p,p));
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23 end
5
fa4d448b07d3 test_mandelbrot.lua: Remove some trailing whitespace
Matthew Wild <mwild1@gmail.com>
parents: 4
diff changeset
24 end
4
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25
caf89bc9100a test_mandelbrot.lua: Generate mandelbrot set demo
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
26 pic:render(io.stdout);

mercurial