aUCBLogo Demos and Tests / scheibe


be scheibe
   
clearScreen
   
WindowMode
   
disableRoundLineEnds
   
   
f=4
   
n=360*f
   
ri=290
   
ra=300

   
setPenSize [1 1]/f*1.5
   
PenUp
   
repeat n
   
[   fd ri
      
PenDown
      
fd ra-ri
      
PenUp
      
back ra
      
right 360/n
   
]

   
f=2
   
n=120
   
ri=ri-10
   
ra=ra-10
   
bits=trunc (ln n)/ln 2
   
repeat n
   
[   i=repcount
      
repeat bits
      
[   fd ri
         
PenDown
         
bit=BitAnd 1
         
setPenSize [1 1]/f*(1+bit)
         
fd ra-ri
         
PenUp
         
back ra
         
right 360/n/(bits+1)
         
i=aShift -1
      
]
      
right 360/n/(bits+1)
   
]
   
kreuz
   
   
setXY 320 250
   
scheibeklein
   
setXY -320 250
   
scheibeklein
   
setXY 320 -250
   
scheibeklein
   
setXY -320 -250
   
scheibeklein
   
   
setXY 400 -300
   
rampe
   
hideTurtle
   
   
setSaveSize [4000 3000]
   
saveScreen "scheibe.bmp
   
setSaveSize [800 600]
end

be scheibeklein
   
setPenSize [1 1]*1
   
n=60
   
ri=30
   
ra=50
   
PenUp
   
repeat n
   
[   fd ri
      
PenDown
      
fd ra-ri
      
PenUp
      
back ra
      
right 360/n
   
]
   
kreuz
   
hideTurtle
end

be kreuz
   
setPenSize [1 1]*0.25
   
PenDown
   
fd 10
   
back 20
   
fd 10
   
right 90
   
fd 10
   
back 20
   
fd 10
   
left 90
   
PenUp
end

be rampe
   
n=300
   
repeat n
   
[   i=repcount
      
left 90
      
PenDown
      
setPenSize [1 1]*2*i/n
      
fd 10
      
PenUp
      
back 10
      
right 90
      
fd 4*i/n
   
]
end