Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- to upisuj :n :d :k
- (local "l "nl "p "a "b "ax "ay "bx "by)
- make "l []
- make "p pos
- ; prikupi vrhove vanjskog :n-terokuta
- pu
- repeat :n [
- fd :d make "l lput pos :l bk :d rt 360/:n
- ]
- pd
- ; crtamo ukupno :k mnogokuta
- repeat :k [
- ; dodaj prvi vrh na kraj tako da se napravi puni krug
- make "l lput (first :l) :l
- ; pocni od prvog vrha i spoji sve
- pu setpos first :l pd
- foreach :l [setpos ?]
- ; priprema za iduci :n-terokut (nova lista je lista polovista)
- make "nl []
- for [i 1 :n 1] [
- ; racunamo poloviste svaka dva susjedna vrha
- ; te ga stavljamo na novu listu
- ; zadnji vrh na listi :l je jednak prvom (sto i zelimo)!
- make "a item :i :l
- make "b item :i+1 :l
- make "ax first :a make "ay last :a
- make "bx first :b make "by last :b
- make "nl lput list ((:ax+:bx)/2) ((:ay+:by)/2) :nl
- ]
- ; iduca lista vrhova je novonastala lista polovista
- make "l :nl
- ]
- ; vrati se na pocetnu tocku
- pu setpos :p pd
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement