module Julia open System open System.Numerics open System.Drawing let generatePixel x y height width zoom rMax maxIter = let c = MandelBrot.getComplexValueForPixel (float x) (float y) (float height) (float width) zoom let rec findI i z = if i >= maxIter then i else if Complex.Abs(z) >= (float rMax) then i //else findI (i+1) (z*z+c) else findI (i+1) (Complex.Add(c, (Complex.Multiply(z, z)))) MandelBrot.colorMap (findI 0 (Complex(0.0, 0.0))) maxIter let generate (width:int) height zoom rMax maxIter = let result = new Bitmap(width, height) for y in 0 .. height-1 do for x in 0 .. width-1 do generatePixel x y height width zoom rMax maxIter |> (fun color -> result.SetPixel(x, y, color)) result