// Welding
// This is a combination of parts from assignment 2 and 3.
// The circles are from the "nest" in my solution to problem 3C
// The squares are from the visual glitch prolem 2B
// And the moving, triangle claws are from problem 3A geometric
// progression
// From PS 3C - egg
load dbngraphics.dbn
command nestcircles CX CY R P
{
circle CX CY R P
circle CX CY (R+1) P
circle CX CY (R+2) P
circle CX CY (R+3) P
circle CX CY (R-5) P
circle CX CY (R-7) P
}
//box command from 139 bo DBN
command box l r t b
{
repeat a l r
{
line a t a b
}
}
// From PS 2B visual glitch
command row t b
{
set l 1
set r 16
set space 5
set diff (r-1)
box l r t b
box (l+diff+space) (r+diff+space) t b
box (l+(2*diff)+(2*space)) (r+(2*diff)+(2*space)) t b
box (l+(3*diff)+(3*space)) (r+(3*diff)+(3*space)) t b
box (l+(4*diff)+(4*space)) (r+(4*diff)+(4*space)) t b
}
forever
{
paper 0
pen 40
set spaceb 4
//block
row (spaceb) (spaceb+15)
pen 100
// moving triangle shapes from PS 3A geometric progression
// This visual element is not put into a command
// because it is so short and also not used exactly
// the same way as in PS 3.
repeat a 4 19
{
line 1 a 15
}
pen 40
row ((2*spaceb)+15) ((2*spaceb) +15+10)
pen 100
repeat a 23 33
{
line 20 a 35
}
pen 40
row ((3*spaceb)+15+10) ((3*spaceb)+15+10+6)
pen 100
repeat a 37 43
{
line 40 a 54
}
pen 40
row ((4*spaceb)+15+10+6) ((4*spaceb)+15+10+6+2)
pen 100
repeat a 47 49
{
line 60 a 75
}
pen 40
row ((5*spaceb)+15+10+6+2) ((5*spaceb)+15+10+6+2)
pen 100
line 79 53 94
row ((6*spaceb)+15+10+6+2) ((6*spaceb)+15+10+6+2+2)
row ((7*spaceb)+15+10+6+2+2) ((7*spaceb)+15+10+6+2+2+6)
row ((8*spaceb)+15+10+6+2+2+6) ((8*spaceb)+15+10+6+2+2+6+10)
row ((9*spaceb)+15+10+6+2+2+6+10) ((9*spaceb)+15+10+6+2+2+6+10+15)
nestcircles 20 80 25 40
nestcircles 80 20 20 100
}