import math, complex, colors proc getComplexValueForPixel(x:int, y:int, height:int, width:int, zoom:float64): Complex[float64] = complex.complex64((x.float64-width.float64/2.0'f64)/zoom, (y.float64-height.float64/2.0'f64)/zoom) proc colorMap(i:int, nMax:int): Color = rgb(0, 0, 0) proc generatePixel(x:int, y:int, height:int, width:int, zoom:float64, rMax: int, maxIter:int) : Color = let c = getComplexValueForPixel(x, y, height, width, zoom) var n = 0 z = complex64(0'f64, 0'f64) for i in 0..maxIter: if z.abs >= rMax.float64: n = i break z = c + z * z result = colorMap(n, maxIter) proc generateImage(width:int, height:int, zoom:float64, rMax:int, maxIter:int) = discard nil