Autorské riešenie
[stiahni]

Nakresliť kvietok nie je nič komplikované. Pozrime sa na to podrobnejšie. Vieme, že kvietok má vždy aspoň tri lupienky. To je dobre, pretože nemusíme vymýšľať ako by lupienky a kvietky vyzerali, keby boli lupienky len dva alebo len jeden.

Lupienky sa navzájom neprekrývajú. Takže, čím ich bude viac, tým budú musieť byť užšie. Uhol lupienka, na mieste kde vyrastá z okrúhleho stredu vypočítame tak, že celý kruh, t.j. 360° vydelíme počtom lupienkov. Na kreslenie lupeňov si vytvoríme procedúru lupeň. Jej vstupom bude veľkosť uhla kosoštvorca pri strede kvietku.

Na začiatku sa korytnačka otočí o :uhol/2 tak, aby mohla začať kresliť prvú stranu kosoštvorca.

viem lupen :uhol
  urobTu "uhol2 180-:uhol
  vl :uhol / 2

  polygon [
    opakuj 2 [
      do 50
      vp :uhol
      do 50
      vp :uhol2
    ]
  ]

  vp :uhol / 2

koniec

Teraz vytvoríme procedúru kvietok, ktorá podľa počtu zadaných lupeňov kvietok vykreslí. V cykle (opakuj :n) sa korytnačka posunie dopredu, aby lupienky nevyrastali z jedného bodu, ale z okrúhleho stredu. Potom sa zavolá procedúra lupeň. Korytnačka sa vráti späť a otočí sa (uhol 360/:n) aby sa mohol vykresliť ďalší lupeň. Nakoniec sa vykreslí okrúhli stred, bod 20.

viem kvietok :n
  urobTu "uhol 360 / :n
  nechfp ?
  opakuj :n [
    do 10
    lupen :uhol
    vz 10
    vl :uhol
  ]
  bod 20
koniec

 

Vaše zaujímavé riešenia a najčastejšie chyby

Najčastejšou chybou bolo, že vaše lupienky boli vždy rovnako veľké. Takže ak ich už bolo viac, vzájomne sa prekrývali. Niektorí kreslili kvietok, ktorý mal vždy rovnaký počet lupienkov.