Philip Tan - Problem Set #2
 
Part 1
p1.dbn
paper 2
// Nothingness. There is no black.
// But it doesn't GLOW, either.

Choose a single shade of a paper and render that shade.
 
Part 2
p2.dbn
repeat c 0 5
{
   repeat a 22 3
   {
      paper (a*4)
   }
}

// Exposure of a rapid fire camera
// Works great on Mac IE...
// Sucks on Mac Netscape...

Create a sequence of shaded papers using the Repeat command as a short animation of brightness. For example
Repeat a 0 100
{
Paper a
}

 
Part 3
p3.dbn
repeat d 0 8
{
   repeat c 0 2
   {
      repeat a 0 10
      {
         paper (100-(a*3))
      }
   }
   repeat a 0 15
   {
      paper (100-(a*3))
   }
}

// You can try to push the darkness away,
// but it will always snap back.

Create an animation of a sequence of shaded papers that evokes a sense of rhythm.
 
Part 4
p4.dbn
repeat c 0 4
{
   repeat a 10 50
   {
      paper (100-a)
   }
   repeat a 25 5
   {
      paper (100-(2*a))
   }
}
// Snoring. Runs a little too fast on
// MSIE, but better on Navigator.

Create an animation of a sequence of shaded papers that evokes a tranquil, sleepy image.
 
Part 5
p5.dbn
repeat c 0 1000
{
   paper (50 - (c*c/20000))
}
repeat c 0 100
{
   paper c
}
// higher, higher, faster, faster...
// oops, too high!

// This runs fine on IE, speedwise.

Create an animation of a sequence of shaded papers that evokes a gradually increasing/heightening feeling.
 
Part 6
p6.dbn
repeat a 0 300
{
   paper 94
   set b (((a*a*a)/5000) - (a*a/100))
   pen 3
   line (50 - b) 100 (50 + b) (-20)
}
paper 40
pen 80
line (50 - 4500) 100 (50 + 4500) (-20)
// THE PURSUIT OF NEUTRALITY
// not this way...
// maybe this way?
// almost made it...
// darn!

Add a single line to the sequence, and let it fly in time. For instance
Repeat a 0 100
{
Paper 0
Line a 0 a 100
}

 
Part 7
p7.dbn
repeat a 1000 0
{
   paper 18
   pen 90
   line 50 50 100 (a-200)
   pen 60
   line 50 50 100 (a/10)
}
// the minute hand gets tired of waiting
// for the second hand. This is a pretty
// long animation, but I think it's funny.

Add another line and let two lines fly in contrasting styles.
 
Part 8
p8.dbn
pen 1
repeat a 0 10
{
   repeat c 0 5
   {
      paper 42
      set d ((a*10)+c)
      set b ((d/3)+45)
      line d b (d-3) (b+c)
      line d b (d+3) (b+c)
   }
   repeat c 5 0
   {
      paper 42
      set d ((a*10)+(10-c))
      set b ((d/3)+44)
      line d b (d-3) (b+c)
      line d b (d+3) (b+c)
   }
}

// well, you said 'fly'...

Let two lines fly in cooperative styles.
 
Part 9
p9.dbn
// Lean (Max's title)
//
// Max's old line looks like a crack to me,
// rather than a leaning line.
//
// I decided to change the shades to a
// more mellow combination. Also,
// when the line is too close to the edge,
// there's a sort of optical illusion
// making it curve. It's nice, but not
// really a 'lean'. So I moved the base
// over a few pixels and landed it firmly
// on the 'ground'.
//
// I've just concretized his abstract line.
// I like it...Prof Maeda might not.
paper 20
pen 70
line 94 0 100 97

Using Part 1 of Problem Set 1, you are asked to comment and improve on a colleague's work. The person you will choose is determined by your order in the pulldown menu of the main page. For example, Ben should comment on Bruce, Bruce on Nick, and all the way down to Hoeteck commenting on Ben (wrapped around). We don't have a form mechanism setup, so for now just put it inside your DBN buffer as a comment, and include a modified version of your colleague's program that reflects your suggestions.
 
Part 10
p10.dbn
// Lab
// Max's lab wasn't really architecturally
// correct...I rearranged the bright and
// dark stripes.
//
// I also fixed the foreshortening on the
// sides, but it's still orthogonal.
paper 50
set wh 18
repeat h 0 48
{
   repeat v 0 4
   {
      pen 0
      line h (v * 20) h (v * 20 + wh)
      pen 100
      line h 40 h 58
      // Side of building
      pen h
      line (50 + h) (v * 20  - h/2) (50 + h) (v * 20 + wh - h/2)
      pen 50
      line (50 + h) (2 * 20  - h/2) (50 + h) (2 * 20 + wh - h/2)
   }
   
}
pen 50
repeat h 0 3
{
   line (h * 20 - 11) 0 (h * 20 - 11) 100
}
repeat h 1 8
{
   line (50 - (h*h/2) + h * 10) 0 (50 - (h*h/2) + h * 10) 100
}

Do the same as above for Part 10 of Problem Set 1.