Logo Imagine – Základní příkazy První informací by mělo být, že nejdůležitějším objektem a tím, od kterého se vše odvíjí dál je želva. Při prvním spuštění programu je to to první, co můžete uprostřed bianco plochy vidět. Záměrně zdůrazňuji uprostřed, protože právě toto místo je bráno jako bod [0 0] v logu. Budete-li tedy někdy dále chtít udat želvě nějakou pozici, musíte mít toto na paměti. Při jakémkoli pohybu, který želva provede, za sebou zanechává čáru. Soustřeďme se teď na ten pohyb. Želva je schopna se pohybovat vpřed a vzad a otáčet se o libovolný počet stupňů doprava nebo doleva. Těmito čtyřmi příkazy tedy vykrýváme pohyb jakýmkoli směrem. Vše funguje takto: Příkaz dopředu 50 do 50
vzad 50 vz 50
- slovo dopředu znamená příkaz a číslice za ním udává počet „želvích kroků“, o které se má želva posunout.
- příkaz pohybující želvou zpět a o kolik
vpravo 45 vp 45
vlevo 45 vl 45
- želvička se otočí z aktuální pozice o 45° (nebo kolik jí libovolně zadáme) směrem doprava. Na obrázku jsme pro lepší ukázku provedli ještě příkaz dopředu 50.
- želvička se otočí z aktuální pozice o 45° (nebo kolik jí libovolně zadáme) směrem doleva . Na obrázku jsme pro lepší ukázku provedli ještě příkaz dopředu 50.
Řekněme, že chceme provést náročnější sekvenci pohybů, jako třeba nakreslit čtverec o hraně 50 kroků. V tom případě se bude jednat o spojení následujících příkazů. Můžete je buďto zadávat jeden po druhém v příkazovém řádku a želva je bude tak i vykonávat, nebo je můžete zadat v jedno řádku za sebou oddělené mezerou, a tak budou provedeny najednou. dopředu 50 vpravo 90 dopředu 50 vpravo 90 dopředu 50 vpravo 90 dopředu 50 vpravo 90
do vp do vp do vp do vp
50 90 50 90 50 90 50 90
V tuto chvíli narážíme na to, že by se nám hodil nový příkaz. Při kreslení čtverce jsme pořád dokola opakovali to samé, konkrétně 4x. Můžeme tedy celý čtverec vyřešit pomocí příkazu opakuj takto: opakuj 4[dopředu 50 vpravo 90] - opakuj zopakuje vše, co je uvedeno v hranatých závorkách za ním. Počet opakování uvádí číslo za opakuj, v našem případě 4. Příkazy v závorkách jsou za sebou zase odděleny mezerou, stejně jako při psaní do řádku. POZOR! V logu je třeba opravdu přepečlivě dbát na dodržování syntaxe. Stačí jedna mezera jinak a příkaz se neuskuteční. Příkazy ale fungují ať už jsou zadány s diakritikou nebo bez. Pomocí opakování můžeme kreslit také jiné různé tvary. Jako například: trojúhelník - ujdeme první stranu trojúhelníku, otočíme se ale pozor o vnější úhel, který je u rovnostranného trojúhelníku 120°, a to 3x. Můžeme samozřejmě nakreslit trojúhelník jakéhokoli tvaru či rozměru. Jen pak již není možno použít takto příkazu opakuj. opakuj 3[dopredu 50 vpravo 120]
obdélník - nejprve ujdeme kratší stranu, pak se otočíme o 90° a ujdeme delší stranu obdélníka. Toto opakujeme dvakrát.
opakuj 2[dopredu 25 vpravo 90 dopredu 50 vpravo 90]
kruh - aby byla kružnice co „nejkulatější“, otáčíme želvičku jen o 1° vpravo. Samozřejmě můžeme i vlevo. Rozdíl bude jen v tom, kterým směrem bude kruh vykreslen. Všimněte si, že čím delší je úsek, který při jednostupňovém otočení provedeme, tím větší je výsledný kruh. opakuj 360[dopredu 0.2 vpravo 1] opakuj 360[dopredu 0.3 vpravo 1] opakuj 360[dopredu 0.4 vpravo 1]
Pozor! Při psaní desetinných čísel musíme použít tečku, nikoli desetinnou čárku.
Jak již bylo řečeno, při pohybu želva kreslí. Drží své pomyslné pero dole na papíře. V případě, že chceme, aby nějakou trasu jen přešla a nekreslila přitom, je třeba ji přinutit pero na chvíli zvednout. Nezapomeňte ale, že když pak budeme chtít zase kreslit, musí jej znovu položit. K tomuto slouží příkazy peronahoru a perodolu, zkráceně pn a pd. Můžeme pak dosáhnout třeba toho, že nakreslíme přerušovanou čáru:
vp 90 opakuj 5[do 20 pn do 5 pd]
Pozn. Příkaz vp 90 na začátku je zde jen proto, aby želvička kreslila čáru vodorovně. TIP Pokud chcete, aby se želva posunula, ale nemáte odhad o kolik přesně, stačí zadat do příkazového řádku příkaz dopředu, ale nezadat hodnotu. Zobrazí se vám toto krásné pravítko a můžete si myší ukázat o kolik byste to chtěli. Druhou možností je
Tady se dostáváme k čarám. Želva má při vzniku nastavenu čáru o tloušťce 1 bod a černé barvě. Tloušťku pera můžeme změnit příkazem tp! vp 90 tp! 10 do 50
vp 90 do 20 pn tp! 5 do 20 pn tp! 7 do 20 pn tp! 9 do 20 pn tp! 11 do 20 pn
do 15 pd do 15 pd do 15 pd do 15 pd do 15 pd
Pomocí příkazu bod želva aktuální tloušťkou a barvou pera vykreslí puntík. Tento příkaz má podobný efekt jako dopředu 0, ale s tím rozdílem, že bod kreslí puntík, i když je pero nahoře. Stejně jako můžeme měnit tloušťku pera želvy, můžeme měnit i jeho barvu. Co se výběru barev týče, logo má seznam již předdefinovaných barev. Pokud máme přesnější plány, můžeme si barvu namíchat z RGB palety. Pro zadání aktuální barvy pera želvy máme k dispozici příkaz bp! Můžeme také měnit barvu výplně, a to příkazem bv! tp! 5 bp! “purpurova do 30 vp 90 bp! “azurova do 30 vp 90 bp! “zluta do 30 vp 90
TIP Abychom si nemuseli pamatovat označení Logo barev, pomůže nám i v tomto případě pomocník pod klávesou F9. Do příkazového řádku napíšeme příkaz bp! a po stisku F9 se nám objeví paleta.
Svůj vlastní příkaz můžeme vytvořit pomocí příkazu uprav“kolecko. Mezi příkazem uprav a názvem našeho nového příkazu jsou uvozovky. Uprav můžeme zase zkrátit na up“kolecko. Do těla příkazu pak napíšeme vše, co se má v jeho rámci vykonat. Výsledkem bude:
Chceme-li kolečko vyplnit, můžeme použít 2 metody. Za prvé zvednout želvě pero, nastavit bv! a odskočit si s ní někam do středu kruhu. Pak použít příkaz vypln. Želva rozlije zvolenou barvu na plátno a ta se rozlije všude, dokud nenarazí na zábranu. Pokud stojí želva v kruhu, vyplní tedy daný kruh. Jindy ale pozor na díry, barva teče všude. Druhá varianta je elegantnější, jsou však momenty, kdy ji nelze využít. Jedná se o příkaz mnohoúhelník. Používá se takto: mnohouhelnik[opakuj 360 [do 1 vp 1]] Za příkaz mnohouhelnik zapíšeme do hranatých závorek příkaz, kterým vznikne ohraničený útvar, který chceme vyplnit. Zde se jedná o kruh. Výsledkem pak bude:
náš
Příklad Sněhulák Toto můžeme využít například při kreslení sněhuláka. Řekněme, že chceme sněhuláka se zelenou horní koulí, purpurovou prostřední a modrou spodní. Obrys horní koule pak bude žlutý, prostřední fialový a spodní oranžový. příkaz snehulak vp 90 tp! 5 bp! "žlutá bv! "zelená mnohouhelnik[opakuj 360[do 0.5 vp 1]] vp 90 do 60 vl 90 bp! "fialová bv! "purpurová mnohouhelnik[opakuj 360[do 0.7 vp 1]] vp 90 do 80 vl 90 bp! "oranžová bv! "modrá mnohouhelnik[opakuj 360[do 0.9 vp 1]] konec Vysvětlení Na začátku nastavíme želvu doprava a pak ji budeme posouvat jen dolů. Budeme tak držet prostřední linii. Když ji necháme koukat na začátku nahoru a budeme kreslit doprava, bude dodržena levá linie, tzn. Koule nebudou pod sebou jako u sněhuláka, ale zarovnané doleva. Tloušťku pera, pokud ji za celou dobu neměníme jen na začátku, stačí nastavit jednou. Dokud ji nezměníme, bude stále stejná. Abychom neměli přes každou kouli svislou čáru, musíme před posunem želvy na novou pozici zvednout pero a pak ho zase položit. Pokud bychom kreslili sněhuláka, který by neměl výplň odlišnou od obrysu, byla by věc jednodušší. Stačilo by nastavit tp! Takovou, jaký chceme průměr koule a zadat příkaz bod. Je to jednodušší i z toho pohledu, že u kružnice nemůžeme přímo zadat její průměr, protože želva funguje po obvodu. Příklad ornament Výsledkem tohoto příkazu by měl být tento ornament. Nejprve definujeme příkaz kamen, který nám vykreslí tu nejmenší částečku vzoru. příkaz kamen tp! 1 bp! "cerna bv! "modra mnohouhelnik[opakuj 2[do 20 vl 90 do 40 vl 90]] pn do 20 pd opakuj 2[do 20 vl 90 do 40 vl 90] pn vz 20 pd konec
Pokračujeme tím, že příkaz kamen použijeme ve vyšším příkazu vzor, a to takto: příkaz vzor opakuj 4[kamen pn do 40 vl 90 do 40 vl 180] konec
Nakonec použijeme i příkaz vzor pro vyšší příkaz ornament. příkaz ornament opakuj 4[vzor pn do 40 vp 90 do 40 pd] konec