i i “Lokar-zelva” — 2010/6/14 — 10:03 — page 1 — #1 i i i i i i List za mlade matematike, fizike, astronome in računalnikarje ISSN 0351-6652 Letnik 16 (1988/1989) Številka 3 Strani 154–158 Matija Lokar: ŽELVA GRE NA SPREHOD Ključne besede: matematika, računalništvo, spirolaterali, logo, risanje ravninskih likov. Elektronska verzija: http://www.presek.si/16/930-Lokar.pdf c© 1988 Društvo matematikov, fizikov in astronomov Slovenije c© 2010 DMFA – založništvo Vse pravice pridržane. Razmnoževanje ali reproduciranje celote ali posameznih delov brez poprejšnjega dovoljenja založnika ni dovo- ljeno. ŽELVA GRE NA SPREHOD Slika 1 Slika 2 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O o O O O O O O O O O O O O O O O O O O O O O Bilo je sončno nedeljsko popoldne. Žel va, ki jo bralci Preseka že dobro pozna- mo iz člankov o programskem jeziku logo in grafiki, se je odločila, da gre na potep. Vendar se nikakor ni mogla odločiti, kam naj gre. "Grem pa kar malo pohajkovat," se je odločila. Rečeno, storjeno. A naša želva, redoljubna kot je, mora tudi v pohajko- vanje vnesti nekoliko reda. Zato se je odločila, da bo pohajkovala po pravilu: deset korakov naprej, nato se bo obrnila v desno, napravila dvajset korakov, se spet obrnila v desno, napravila trideset korakov naprej, šla desno, štirideset korakov naprej. obrat v desno in petdeset korakov naprej. Potem pa znova od začetka: deset korakov, desno, dvajset korakov, desno, oo. A poglej. čez nekaj časa se ji je zazdelo, da hodi ponovno po poti, ki jo je že prehodila. Hodila je še nekaj časa in bila v to vedno bolj prepričana. "Pa poglejmo, kaj se dogaja," si je mislila. Nabrala si je nekaj kamenja in na vsakem koraku izpustila kamen. ln resl Čez nekaj časa je naletela na položeno kamenje. "Ha! Izgubiti se torej ne mo- rem!" To jo je tako razveselilo, da se je še nekaj časa sprehajala po izbranem pravilu. Nato pa se je počasi odpravi- la proti domu. Ko se je zazrla nazaj, je opazila, da kamni, položeni na pot, tvorijo zanimiv vzorec. "Zanimivo, zanimivo," je zarnr- mrala in pohitela domov. Tam je ta - koj sedla za računalnik . "Poskusimo pot narediti še tu. Kako sem že hodila? Deset korakov naprej, to bo FD 10. Desno, to je RT 90. Pa spet FD 20, RT 90, FD 20. Opsl Napak, 30 korakov sem napravila. Torej še 10 naprej. FD 10. ln spet RT 90, FD 40, RT 90:' "Tako še FD 50 in RT 90. Pa 154 I ....- L I "Očitno moram to ponovit i večkrat! FD 10, RT 90 , FD 20 , RT 90, FD 30, RT 90, ... " ln končno je bil pred želvo vzo- rec, kot ga je naredila na sprehodu. Vzorec ji je bil tako všeč, da ga je risala vedno znova. A kmalu jo je motilo, da mora natipkati toliko uka- zov, preden ga nariše . Razmišljala je Slika 3 in razmišljala in - končno! "Osnovni vzorec moram vendar ponoviti štirikrat, da dobim celo sliko. Ponavljanje ukazov mi omogoča ukaz REPE"T. Ampak, kako ga že napišem prav? Aha! Tule v Preseku bo pisalo . Torej REPEAT, presledek, število pono- vitev, zame 4, nato pa seznam ukazov, ki naj se ponove. Kje je že oglati pred- klepaj, da označim za četek seznama? Sedaj pa FD 10, RT 90, FD 20, RT 90 . Dobro, da hodim na tečaj angleščine. Sicer si nikoli ne bi zapomnila , da je RT zasuk v desno. Tako se le spomnim na right. Kje sem že ostala? FD 30, RT 90 , oo. Še oglati zaklepaj za konec seznama ukazov in končano." Na ekranu je bil naslednji program poglejmo" in na zaslonu je zagleda la sliko 2. REPEAT 4 [ FD 10 RT 90 FD 20 RT 90 FD 30 RT 90 FD 40 RT 90 FD 50 RT 90 ) Želvi pa žilica ni dala miru . Tipkanja ji je bilo že vedno preveč. Spomnila se je, da lahko več ukazov združi v enega in ga nato lahko uporablja kot vgraje- ne ukaze, npr . FD, RT 90, REPEAT. To v logu naredimo tako, da za ukazom TO navedemo ime novega ukaza in natipkamo ukaze, ki naj ta novi ukaz sesta- vljajo. Da smo z določitvijo novega ukaza končali, povemo tako, da uporabimo ukaz END. Ko je želva natipkala TO VZOREC REPEAT 4 [ FD 10 RT 90 FD 20 RT 90 FD 30 RT 90 FD 40 RT 90 FD 50 RT 90 ) END je njen logo sedaj poznal poleg ostalih še ukaz VZOREC, ki je narisal sliko. Želva je morala sedaj natipkati le še VZOREC in slika se je prikazala na za- slonu. 155 Vzorec, ki ga je želva tako risala, je le eden iz skupine geometrijskih vzorcev, ki jih imenujemo spirolstersli, in sicer spirolateral petega reda. Vpeljal jih je angleški biokemik Frank Odds. Njihovo ime izvira iz dveh korenov: /atera/, ki označuje ravno površino, in spira za spira le, ki tvorijo osnovni vzo- rec. Spirolaterali so ravninski vzorci, ki jih dobimo s pomočjo enostavnih pra- vil. Najlaže jih opišemo s pomočjo želvine grafike. Želva se premakne za enoto naprej. se obrne za določeni kot, premakne za dve enoti, obrne, premakne za tri enote in tako naprej. dokler dolžina premika ne doseže določenega naravne- ga števila n, ko postopek ponovimo. Kot sukanja je vedno isti. Število n imenu- jemo red spirolaterala. Na sliki so spirolaterali reda 1 - 8. o 2 o 3 4 6 7 Slika 4 8 Kot vidimo, so nekateri spirolaterali zaključeni in drugi spet ne. Tako spi- rolaterala reda 4 in 8 nista zaključena (se ne vrneta v izhodišče). Ni težko po- kazati, da ne dobimo zaprtih likov za rede 4, 8, 12, 16, ..., torej za večkratnike 4 . Da se vrnemo v izhodišče pri redih 2, 6, 10, 14, ..., potrebujemo dve pono- vitvi osnovnega vzorca, pri lihih redih pa potrebujemo po štiri ponovitve. Nobenega razloga ni, da se vedno obrnemo za 90° . Prav tako zanimive like dobimo, če vzamemo npr. kote 36°,45° (glej sliko 5). Da ločimo med posameznimi spirolaterali, moramo te ustrezno označiti. Med različnimi predlogi se je uveljavila oznaka RK, kjer R označuje red spirola - terala in K kot obračanja. Tako npr. 7 4 5 označuje spirolateral sedmega reda s 156 I Slika 5 kotom obračanja 45 stopinj. Napišimo v LOGU program, ki bo narisal poljuben osnovni vzorec spirolaterala TO SPIRO :REO :KOT :ENOTA MAKE "EN :ENOTA REPEAT :REO [ FO :EN RO :KOT MAKE "EN :EN + :ENOTA 1 END Še zanimivejše vzorce dobimo, če dovolimo enega ali več zasukov v naspro- tno smer. Tako na sliki vidimo nekaj zanimivih vzorcev, ki so nastali na ta način. mr ~ (o). (e) ( b ) (d ) ~ (e) Slika 6. (a) red 6, črta 3 gre v levo (b) red 6, črti 3 in 5 gresta v levo (c) red 7, črta 7 gre v levo (d) red 7, črte 1, 2 in 3 gredo v levo (f) red 9, le črta 6 gre v desno 157