Posted: 10th Dec 2002 5:51
A very simple triangle fractal.

+ Code Snippet
sync on : sync rate 60
randomize timer()

bw = bitmap width() - 1
bh = bitmap height() - 1

for i = 0 to 3
  v = make vector2(i)
next i

rem --- set corners of triangle fractal
set vector2 0, 0, 0
set vector2 1, bw, 0
set vector2 2, bw/2, bh

rem --- pick a random starting point on screen
set vector2 3, rnd(bw), rnd(bh)

count = 0

repeat
  rem --- pick a corner and set a color
  corner = rnd(2)
  if corner = 0 then col = rgb(255,0,0)
  if corner = 1 then col = rgb(0,255,0)
  if corner = 2 then col = rgb(0,0,255)

  rem --- get new screen co-ords between corner and current point
  linear interpolate vector2 3, corner, 3, 0.5
  dot x vector2(3), y vector2(3), col

  rem --- update display every 1000 dots drawn
  inc count,1
  if count = 1000
    sync
    count = 0
  endif
until spacekey()

for i = 0 to 3
  v = delete vector2(i)
next i

end
Posted: 13th Dec 2002 5:54
Any way you could make it db 1.x compatible? I've been messing with fractals on my calculator and seeing what a computer could do would be great...
Posted: 13th Dec 2002 7:59
Hope this works for you.

+ Code Snippet
sync on : sync rate 60
randomize timer()

bw = bitmap width() - 1
bh = bitmap height() - 1

dim x(2)
dim y(2)

rem --- set corners of triangle fractal
x(0) = 0  :  y(0) = 0
x(1) = bw  :  y(1) = 0
x(2) = bw/2  :  y(2) = bh

rem --- pick a random starting point on screen
px = rnd(bw)
py = rnd(bh)

count = 0

repeat
  rem --- pick a corner and set a color
  corner = rnd(2)
  if corner = 0 then col = rgb(255,0,0)
  if corner = 1 then col = rgb(0,255,0)
  if corner = 2 then col = rgb(0,0,255)

  rem --- calculate new screen co-ords between corner and current point
  x = (x(corner) - px) / 2
  y = (y(corner) - py) / 2
  px = px + x
  py = py + y

  dot px, py, col

  rem --- update display every 1000 dots drawn
  inc count,1
  if count = 1000
    sync
    count = 0
  endif
until spacekey()

end
Posted: 13th Dec 2002 8:00
...oops sorry, at the bottom of the loop you may have to change:

Inc count, 1

to

count = count + 1
Posted: 13th Dec 2002 16:31
Have you seen my 20 line fractal generator:

http://www.darkbasicpro.com/apollo/view.php?t=1886&b=11
Posted: 14th Dec 2002 0:21
Indeed I have, very nice, shame DBPro's floats are not more accurate so we can zoom in some more.