summaryrefslogtreecommitdiff
path: root/mandelbrot.lua
blob: a94f46f5ead1d52ca4e6ec3701a7b54dedce6185 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
local bignum = require "bignum"

local M = {}

local function sq(x, y)
	return x*x - y*y, 2 * x * y
end

function M.orbit(iter, x, y)
	local o = {}
	local zx, zy = bignum.float(0, 32), bignum.float(0, 32)
	for i = 1, iter do
		local rx, ry = bignum.tonumber(zx), bignum.tonumber(zy)
		table.insert(o, {rx, ry})
		zx, zy = sq(zx, zy)
		zx, zy = zx + x, zy + y
	end
	return o
end

return M