TO BALLOON
BAG
NETWORK :POINTS
BASKET
END

TO BAG
SKY 204
CIRCLE 100 22
OUTLINE 100 1
MESH 100 102 115 160
END

TO OUTLINE :RADIUS :COLOUR
HT
SETPC :COLOUR
SETPENWIDTH 3
PU FD :RADIUS RT 90 PD
REPEAT 36 [RT 180 / 36 FD 2 * PI * :RADIUS / 36 RT 180 / 36]
PU LT 90 BK :RADIUS PD
ST
END

TO CIRCLE :RADIUS :COLOUR
HT
SETPC :COLOUR
SETPENWIDTH 2
PU
SETHEADING 2
FD :RADIUS RT 90
PD
REPEAT 36 [RT 180 / 36 FD 2 * PI * :RADIUS / 36 RT 180 / 36]
PU
LT 90
BK :RADIUS
PD
FILL
END

TO SKY :COLOUR
SETBG :COLOUR
END

TO NETWORK :POINTS
IF EMPTY? :POINTS [STOP]
TRACE FIRST :POINTS
NETWORK BUTFIRST :POINTS
END

TO TRACE :LPOINTS
PU SETPOS FIRST :LPOINTS
PD SETPOS LAST :LPOINTS
END

TO BASKET
SETPC 95
SETHEADING 270
REPEAT 4 [FD 40 LT 90]
PU
SETPOS [0 -200]
PD
FILL
PU
SETPOS [0 -190]
SETHEADING 0
END

TO ARC :RADIUS1 :RADIUS2
SETPENWIDTH 1
MAKE "A ARCSIN :RADIUS1 / :RADIUS2
MAKE "B ARCCOS :RADIUS1 / :RADIUS2
RT :B
REPEAT 80 [RT :A / 80 FD :A * :RADIUS2 * 2 * PI / 14400 RT :A / 80]
END

TO ARCS :RADIUS1 :RADIUS2
( LOCAL "A "B )
REPEAT 2 [ARC :RADIUS1 :RADIUS2 RT 90 - :A]
END

TO MESH :RAD1 :RAD2 :RAD3 :RAD4
PU HT
SETHEADING 90
SETPOS [0 100] PD
ARCS :RAD1 :RAD2
ARCS :RAD1 :RAD3
ARCS :RAD1 :RAD4
SETPENWIDTH 2
END

MAKE "POINTS [[[-100 0] [-20 -190]] [[-60 0] [-10 -190]] [[0 0] [0 -190]] [[60 0] [10 -190]] [[-100 0] [100 0]] [[ 100 0] [20 -190]] [[-100 0] [100 0]] [[-20 -190] [20 -190]]]

BALLOON


