# HG changeset patch # User Matthew Wild # Date 1288185095 -3600 # Node ID caf89bc9100aadc91e3e1e81a0a527acdcfd2f3a # Parent 7f619444bc2a1a50788462c77c27a9435b51f1a5 test_mandelbrot.lua: Generate mandelbrot set demo diff -r 7f619444bc2a -r caf89bc9100a test_mandelbrot.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test_mandelbrot.lua Wed Oct 27 14:11:35 2010 +0100 @@ -0,0 +1,26 @@ +-- Code originally by Luiz Henrique de Figueiredo +-- At http://lua-users.org/lists/lua-l/2010-10/msg00754.html +-- Ported to lua-xpm by Matthew Wild + +local xpm = require "xpm"; + +local N=255 + +local pic = xpm.new(N,N); + +for i=1,N do + local y=2-4*(i-1)/(N-1) + for j=1,N do + local x=-2+4*(j-1)/(N-1) + local xc,yc=x,y + local X,Y=0,0 + local p=0 + for n=1,255 do + X,Y = X^2-Y^2+xc, 2*X*Y+yc + if X^2+Y^2>4 then p=n break end + end + pic:setpixel(j, i, ("#%02x%02x%02x"):format(p,p,p)); + end +end + +pic:render(io.stdout);