r = 120
jumpto -0.1 * r, r / 2
label 'fd 100',
fontFamily: 'Source Code Pro'
fontSize: '200%'
home()
jumpto r / 2, 0
pen blue, 3
fd 100
r = 120
jumpto 0, -r
pen gray
fd r * 2
pen black, 2
for d in [0..r-10] by 10
jumpto 0, d
turnto -90
fd (if (d % 20) then 5 else 35)
turnto 0
jumpto (if (d % 20) then -20 else -50), d + 1
label d
jumpto 0, -d
turnto 90
fd (if (d % 20) then 5 else 35)
turnto 0
jumpto (if (d % 20) then 20 else 50), -d + 1
label d
pen null
jumpto -0.7 * r, r / 2
label 'fd',
fontFamily: 'Source Code Pro'
fontSize: '200%'
jumpto 0.7 * r, -r / 2
label 'bk',
fontFamily: 'Source Code Pro'
fontSize: '200%'
home()
r = 120
jumpto 0.1 * r, -r / 2
label 'bk 100',
fontFamily: 'Source Code Pro'
fontSize: '200%'
jumpto -r / 2, 0
pen blue, 3
bk 100
await loadscript '/lib/angles.cs', defer()
r = 120
jumpto -r/6, -r / 3
label 'lt 30',
fontFamily: 'Source Code Pro'
fontSize: '200%'
jumpto r/3, -r
pen red, 3
fd r; lt 30; fd r; bk r
r = 120
pen silver
for t in [0..165] by 15
rt t; jump 0, 0.2*r; fd 0.8 * r; jump 0, -r; lt t
lt t; jump 0, 0.2*r; fd 0.8 * r; jump 0, -r; rt t
jumpto 0, -r
pen red, 3
fd r
jump 0, r
pen black, 3
deg = 0
for [1..4]
for len in [10, 5, 8, 5, 8, 5]
fd len; bk len
jump 0, 20; label min(deg, 360 - deg); jump 0, -20
deg += 15
rt 90; rt 15, r; lt 90
pen null
for turn in [rt, lt]
jumpto 0, r * 1.35
turn 90; turn 30, r * 1.35
pen black; turn 30, r * 1.35
pen path; fd 2; turn 150
for [1..3]
fd r * 0.1
turn 120
fill black
pen null
home()
jumpto r * 1.1, r * 1.1
label 'rt',
fontFamily: 'Source Code Pro'
fontSize: '200%'
jumpto -r * 1.1, r * 1.1
label 'lt',
fontFamily: 'Source Code Pro'
fontSize: '200%'
home()
await loadscript '/lib/angles.cs', defer()
r = 120
jumpto r/6, -r / 3
label 'rt 30',
fontFamily: 'Source Code Pro'
fontSize: '200%'
jumpto -r/3, -r
pen red, 3
fd r; rt 30; fd r; bk r