To run dbn code go here.
A quick guide to the syntax and commands is here.
// bars
paper 50
repeat a 0 1000
{
repeat ton 0 50
{
set x <mouse 1>
set y <mouse 2>
pen ton
line (x-13) (y-1) (x+13) (y-1)
line (x-13) y (x+13) y
line (x-13) (y+1) (x+13) (y+1)
}
repeat ton 50 100
{
set x <mouse 1>
set y <mouse 2>
pen ton
line (x+1) (y-13) (x+1) (y+13)
line x (y-13) x (y+13)
line (x-1) (y-13) (x-1) (y+13)
}
repeat ton 100 50
{
set x <mouse 1>
set y <mouse 2>
pen ton
line (x+1) (y-13) (x+1) (y+13)
line x (y-13) x (y+13)
line (x-1) (y-13) (x-1) (y+13)
}
repeat ton 50 0
{
set x <mouse 1>
set y <mouse 2>
pen ton
line (x-13) (y-1) (x+13) (y-1)
line (x-13) y (x+13) y
line (x-13) (y+1) (x+13) (y+1)
}
}
repeat x 0 100
{
pen x
line x 0 x 100
}
forever
{
set y <mouse 1>
set x <mouse 2>
pen oldx
line oldx 0 oldx 100
pen y
line x 0 x 100
set oldx x
}
// funny face
// (inspired by Clifford Pickover's
// "Computers, Pattern, Chaos and Beauty", chapter 4)
load dbngraphics.dbn
// eyes
circle 40 60 5 100
circle 60 60 5 100
// nose
circle 50 45 2 100
// mouth
line 45 30 55 30
forever
{
set x (<mouse 1>/5)
set y (<mouse 2>/10)
// mouth
pen 0
line 30 (20+oldx) 45 30
line 55 30 70 (20+oldx)
pen 100
line 30 (20+x) 45 30
line 55 30 70 (20+x)
set oldx x
// eyebrows
pen 0
line 35 (70+oldy) 45 75
line 65 (70+oldy) 55 75
pen 100
line 35 (70+y) 45 75
line 65 (70+y) 55 75
set oldy y
}