TORUS


;δημιουργία ενός λουκουμά (torus)
; είναι μια επιφάνεια που δημιουργείται από την περιστροφή
; ενός κύκλου γύρω από έναν άξονα του επιπέδου του, όχι διάμετρος.

to step :r :n
rt 360/:n fd :r*sqrt(2-2*cos(360/:n))
end



to kyclos :r
penup fd :r  rt 85  pendown
repeat 36 [step :r 36]
penup lt 85 bk :r pendown
end




; εδώ φαίνονται οι ίσοι κύκλοι, 
; αντίγραφα του περιστρεφόμενου γενήτορα κύκλου

to loukoumasa :r :d :n
penup fd :d+:r pendown
repeat :n [
rr 90 kyclos :r rl 90
penup rt 90-180/:n
step :d+:r :n 
lt 90-180/:n pendown]
penup bk :d+:r pendown
end

loukoumasa 20 30 50

; εδώ φαίνονται οι "παράλληλοι" κύκλοι θα λέγαμε

to loukoumasb :r :d :m :t :k
if :k>:m [stop]
make "radius :d+:r+:r*sin(:t+:k*360/:m)
make "jump :r*cos(:t+:k*360/:m)
penup up 90  fd :jump dn 90 pendown
kyclos :radius
penup up 90 bk:jump dn 90 pendown
loukoumasb :r :d :m :t :k+1
end

loukoumasb 20 30 16 120 0

to loukoumas :r :d :n :m :t
loukoumasa :r :d :n
loukoumasb :r :d :m :t 0
end

loukoumas 20 30 50 16 120

