' Keys detected while image generating - no need to wait to end
' arrow keys - move image
' +/- zoom in/out
' c to change colors
' o for master set
' z color band
' s save image
' spacebar start new
it1& = 100: it2& = 100
begin:
it0& = it1&
it0& = it2&
b2:
restart = 0
lr = 0: ud = 0
' ------------------------------------------------------------------------------------------------------------
Scan:
xm## = (x1## + x2##) / 2
ym## = (y1## + y2##) / 2
x1## = xm## - xd##: x2## = xm## + xd##
y1## = ym## - yd##: y2## = ym## + yd##
x1## = xm## - xd## / 8: x2## = xm## + xd## / 8
y1## = ym## - yd## / 8: y2## = ym## + yd## / 8
LINE (x1##
, y1##
)-(x2##
, y2##
), _RGB(255, 255, 255), B
xd## = (x2## - x1##) / xm
yd## = (y2## - y1##) / ym
restart = 1
x1## = mx1!
x2## = mx2!
y1## = my1!
y2## = my2!
xd## = (x2## - x1##) / xm
yd## = (y2## - y1##) / ym
restart = 1
lr = (k = 77) - (k = 75) ' left/right arrows
ud = (k = 80) - (k = 72) ' up and down arrow
x1## = x1## + xd## / 10 * lr * xm
y1## = y1## + yd## / 10 * ud * ym
restart = 1
' ------------------------------------------------------------------------------------------------------------
GenNums:
x1##
= mx1!
+ RND * (mx2!
- mx1!
)y1##
= my1!
+ RND * (my2!
- my1!
)x2## = x1## + (1 / q)
y2## = y1## + (1 / q)
xd## = (x2## - x1##) / xm
yd## = (y2## - y1##) / ym
y = 400: oc = -1: nc = 0
x = 640 + z
IF c
<> oc
THEN oc
= c: nc
= nc
+ 1 IF nc
< 10 THEN GOTO GenNums
' must detect 10 color changes to exit ' ------------------------------------------------------------------------------------------------------------
init:
mx1! = -2
mx2! = .6
my1! = -1.25
my2! = 1.25
xm = 1280: ym = 800
' ------------------------------------------------------------------------------------------------------------
set:
MandelX## = x1## + x * xd##
MandelY## = y1## + y * yd##
Real## = 0
Imag## = 0
Size## = -1
iter& = it0&
iter& = iter& - 1
hold## = Imag##
Imag## = Real## * Imag## * 2 + MandelY##
Real## = Real## * Real## - hold## * hold## + MandelX##
Size## = (Real## * Real## + Imag## * Imag##) - 99
' ------------------------------------------------------------------------------------------------------------
ChangeColors:
c(j) = c(j) + d(j)
d(j) = -d(j)
c(j) = c(j) + d(j)
cp&
(i
) = _RGB32(c
(0), c
(1), c
(2))' ------------------------------------------------------------------------------------------------------------
SaveIt:
image = image + 1
SaveImage f$
' ------------------------------------------------------------------------------------------------------------
ShowPoint:
qq = 8
xm = xm / qq: ym = ym / qq
sx1## = x1##: sx2## = x2##: sy1## = y1##: sy2## = y2##: sxd## = xd##: syd## = yd##
xm## = (x1## + x2##) / 2
ym## = (y1## + y2##) / 2
x1## = -2
x2## = .6
y1## = -1.25
y2## = 1.25
xd## = (x2## - x1##) / xm
yd## = (y2## - y1##) / ym
it0& = it1&
it0& = it2&
LINE (0, 0)-(xm
, ym
), _RGB(255, 255, 255), B
LINE (tx
- 4, ty
- 4)-(tx
+ 4, ty
+ 4), _RGB(255, 255, 255), B
xm = 1280: ym = 800 '
x1## = sx1##: x2## = sx2##: y1## = sy1##: y2## = sy2##: xd## = sxd##: yd## = syd##
' -----------------------------------------------------------------------------------------------------------------
c& = cp&(i) ' save a little typing for next line
MID$(b$
, 11, 4) = MKL$(LEN(b$
)) ' image pixel data offset (BMP header) z$ = ""
IF if_I_had_a_brain
THEN ' attempt to save ACTUAL colors (doesn't work!) d$ = d$ + z$
MID$(b$
, 35, 4) = MKL$(LEN(d$
)) ' image size (BMP header) b$ = b$ + d$ ' total file data bytes to create file
MID$(b$
, 3, 4) = MKL$(LEN(b$
)) ' size of data file (BMP header)