open System let rec rpt n f = if n = 0 then id else f >> ( rpt ( n - 1 ) f ) type Complex = { Re : float Im : float } let cm ( a : Complex ) ( b : Complex ) = { Re = ( a . Re * b . Re - a . Im * b . Im ); Im = ( a . Re * b . Im + a . Im * b . Re ) } let cp ( a : Complex ) ( b : Complex ) = { Re = ( a . Re + b . Re ); Im = ( a . Im + b . Im ) } let absComplex ( a : Complex ) : float = sqrt ( a . Re * a . Re + a . Im * a . Im ) let mandelf ( c : Complex ) ( z : Complex ) = cp ( cm z z ) c let isMandel c = absComplex ( rpt 20 ( mandelf c ) ( { Re = 0 .; Im = 0 . } )) < 1.0 let scale ( x : float , y : float ) ( u , v ) n = float ( n - u )/ float ( v - u ) * ( y - x ) + x for i = 1 to 60 do for j = 1 to 60 do let lscale = scale (- 1.2 , 1.2 ) ( 1 , 60 ) in let t = { Re = lscale j ; Im ...
t.me/perfect0sight