_Title "Canonical Logarithm Explorer: The Movie" ' b+ mod of another coding masterpiece by vince ' ref  https://qb64forum.alephc.xyz/index.php?topic=4646.msg140513#msg140513
 
 
sw = 800
sh = 600
 
 
zoom = 100
 
a = 0.5
k = 0.09
 
sx = 2
sy = 1
 
tx 
= a 
* Exp(k 
* 16) * Cos(16) + sx
ty 
= a 
* Exp(k 
* 16) * Sin(16) + sy
 
x 
= a 
* Exp(k 
* 0) * Cos(0) + sx 
- tx
y 
= a 
* Exp(k 
* 0) * Sin(0) + sy 
- ty
 
 
 
            u = (xx - sw / 2) / zoom
            v = (sh / 2 - yy) / zoom
 
            cdiv uu, vv, u - xl, v - yl, u + xl, v + yl
            clog uu, vv, uu, vv
 
            mm 
= Sqr(uu 
* uu 
+ vv 
* vv
)            aa 
= (pi 
+ _Atan2(vv
, uu
)) / (2 * pi
)            PSet (xx
, yy
), hrgb
(aa
, mm
)  
 
pp(5) = 0
pp(4) = 7
pp(3) = 10
pp(2) = 12
pp(1) = 15
pp(0) = 15.9
 
    tt = pp(ttt)
            u = (xx - sw / 2) / zoom
            v = (sh / 2 - yy) / zoom
 
            uu = 0
            vv = 0
                x 
= a 
* Exp(k 
* t
) * Cos(t
) + sx 
- tx
                y 
= a 
* Exp(k 
* t
) * Sin(t
) + sy 
- ty
 
                cdiv p, q, 1, 0, x - u, y - v
 
 
                cmul p, q, p, q, dx, dy
 
                uu = uu + 0.1 * p
                vv = vv + 0.1 * q
 
                x 
= -a 
* Exp(k 
* t
) * Cos(t
) - sx 
+ tx
                y 
= -a 
* Exp(k 
* t
) * Sin(t
) - sy 
+ ty
 
                cdiv p, q, 1, 0, x - u, y - v
 
 
                cmul p, q, p, q, dx, dy
 
                uu = uu + 0.1 * p
                vv = vv + 0.1 * q
 
            cmul uu, vv, uu, vv, 0, -1 / (2 * pi)
 
            mm 
= Sqr(uu 
* uu 
+ vv 
* vv
)            aa 
= (pi 
+ _Atan2(vv
, uu
)) / (2 * pi
)            PSet (xx
, yy
), hrgb
(aa
, mm
)  
 
        tt = pp(ttt)
                u = (xx - sw / 2) / zoom
                v = (sh / 2 - yy) / zoom
 
                uu = 0
                vv = 0
                    x 
= a 
* Exp(k 
* t
) * Cos(t
) + sx 
- tx
                    y 
= a 
* Exp(k 
* t
) * Sin(t
) + sy 
- ty
 
                    cdiv p, q, 1, 0, x - u, y - v
 
 
                    cmul p, q, p, q, dx, dy
 
                    uu = uu + 0.1 * p
                    vv = vv + 0.1 * q
 
                    x 
= -a 
* Exp(k 
* t
) * Cos(t
) - sx 
+ tx
                    y 
= -a 
* Exp(k 
* t
) * Sin(t
) - sy 
+ ty
 
                    cdiv p, q, 1, 0, x - u, y - v
 
 
                    cmul p, q, p, q, dx, dy
 
                    uu = uu + 0.1 * p
                    vv = vv + 0.1 * q
 
                cmul uu, vv, uu, vv, 0, -1 / (2 * pi)
 
                mm 
= Sqr(uu 
* uu 
+ vv 
* vv
)                aa 
= (pi 
+ _Atan2(vv
, uu
)) / (2 * pi
)                PSet (xx
, yy
), hrgb
(aa
, mm
)  
 
 
    r 
= 0.5 - 0.5 * Sin(2 * pi 
* h 
- pi 
/ 2)    g 
= (0.5 + 0.5 * Sin(2 * pi 
* h 
* 1.5 - pi 
/ 2)) * -(h 
< 0.66)    b 
= (0.5 + 0.5 * Sin(2 * pi 
* h 
* 1.5 + pi 
/ 2)) * -(h 
> 0.33) 
    n = 128
 
 
    rr = 200 * r - 0.15 * mm - 35 * p
    gg = 200 * g - 0.15 * mm - 35 * p
    bb = 200 * b - 0.15 * mm - 35 * p
 
 
 
    cosh# 
= 0.5 * (Exp(x
) + Exp(-x
)) 
    sinh# 
= 0.5 * (Exp(x
) - Exp(-x
)) 
'u + iv = (x + iy)^(a + ib)
Sub cexp 
(u
, v
, xx
, yy
, aa
, bb
)     x = xx
    y = yy
    a = aa
    b = bb
 
    lnz = x * x + y * y
 
        u = 0
        v = 0
        argz = atan2(y, x)
 
        mag 
= Exp(a 
* lnz 
- b 
* argz
)        ang = a * argz + b * lnz
 
 
'u + iv = (x + iy)*(a + ib)
Sub cmul 
(u
, v
, xx
, yy
, aa
, bb
)     x = xx
    y = yy
    a = aa
    b = bb
    u = x * a - y * b
    v = x * b + y * a
 
'u + iv = (x + iy)/(a + ib)
Sub cdiv 
(u
, v
, xx
, yy
, aa
, bb
)     x = xx
    y = yy
    a = aa
    b = bb
 
    d = a * a + b * b
    u = (x * a + y * b) / d
    v = (y * a - x * b) / d
 
    x = xx
    y = yy
 
    lnz = x * x + y * y
 
        u = 0
        v = 0