Max G Van Kleek - Problem Set #1
 
Part 1
p1.dbn
// Lean
paper 100
pen 0
line 97 1 100 97

Create a program to draw a carefully chosen one line on a paper of your choice.
 
Part 2
p2.dbn
// Road
paper 100
pen 0
set a 50
line 0 0 a a
line 100 0 (100 - a) a
line 0 a 100 a

Create a program that uses one variable as a means to control a set of 3 lines. Capture 3 instances of the graphic (A,B,C).
 
Part 3
p3.dbn
// Diamond
paper 50
repeat a 0 50
{
pen a
line a (50 - a) a (50 + a)
}
repeat a 50 100
{
pen a
line a (a - 50) a (150 - a)
}

Create a program to draw a single filled rectangle. Again, choose carefully.
 
Part 4
p4.dbn
// Fujisan
paper 32
repeat a 0 50
{
   pen (2*a)
   line (50 - a) (80 - a) (a + 50) (80 - a)
}


Create a program to draw a single filled triangle. Use your good judgement.
 
Part 5
p5.dbn
// radial
paper 100
pen 0
repeat x 10 100
{
   line 40 0 (x + 20) (-1 * (x - 20)/2 + 40)   
}

Think of all the ways you can draw a filled triangle, and choose one. Utilize the properties of the drawing method you choose, to create a single filled triangle.
 
Part 6
p6.dbn
// loneliness
paper 100
set [90 92] 0
set [88 90] 0
set [90 88] 0
set [92 90] 0
set [10 10] 0


Set 5 dots on a paper of your choice. Evoke an emotion with your choice in placement of dots.
 
Part 7
p7.dbn
// me
paper 100
pen 0
repeat eyebrow 8 10
{
   set [(eyebrow * 4), (80 - eyebrow / 2)] 0
   set [(100 - eyebrow * 4), (80 - eyebrow / 2)] 0
}
repeat me 1 2
{
   set [(me * 24 + 13), 60] 0
}
repeat hana 0 4
{
   set [(48 - hana), (40 - hana)] 0
   set [(52 + hana), (40 - hana)] 0
}
repeat kuchi 0 18
{
   set [(32 + kuchi), (20 - kuchi / 4)] 0
   set [(68 - kuchi), (20 - kuchi / 4)] 0
}

Create a representational picture (i.e. something that looks like something) using just 8 (at maximum) dotted lines.
 
Part 8
p8.dbn
// modulus
// uses dbn's integer-division
// to compute (x mod y) and display the 
// result as an intensity. 
repeat a 1 100
{
   repeat b 1 100
   {
      set [a,b] (a - (a / b) * b)
   }
}




Using a nested loop, fill the entire field with the value of some calculation that can be appreciated. Do not use the Line command.
 
Part 9
p9.dbn
// Hikari
paper 0
repeat a 0 20
{
   repeat b 0 20
   {
      set [(6 * a), (6 * b)] (((6*a - 50)*(6*a - 50) + (6*b - 50)*(6*b - 50)) / 13)     
   }
}


Using a nested loop, create a stippled pattern of dots that can be enjoyed for its complexity. Do not use the Line command.
 
Part 10
p10.dbn
// type program here
// Lab
paper 50
set wh 20
repeat h 0 50
{
   repeat v 0 2
   {
      pen 0
      line h (v * 40) h (v * 40 + wh)
      pen 100
      line h (v * 40 - 20) h (v * 40 + wh - 20)

      // Side of building
      pen h
      line (50 + h) (v * 40 - h/2) (50 + h) (v * 40 + wh - h/2)
   }
   
}

pen 50
repeat h 0 3
{
     line (h * 20) 0 (h * 20) 100
}
repeat h 1 4
{
     line (60 + h * 10) 0 (60 + h * 10) 100
}


Using the Line command, and a (few) nested loop, create an image that evokes a three-dimensional feeling through shading.