i i “672-Rojko-Zmajeva” — 2010/5/4 — 14:12 — page 1 — #1 i i i i i i List za mlade matematike, fizike, astronome in računalnikarje ISSN 0351-6652 Letnik 11 (1983/1984) Številka 4 Strani 161–163 Roman Rojko: ZMAJEVA KRIVULJA Ključne besede: matematika. Elektronska verzija: http://www.presek.si/11/672-Rojko.pdf c© 1984 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. ZMAJEVA KRIVULJA Vzemi mo v roke ozek papirnat trak i n ga začn i mo pregi bat i. Počnimo t o t ako- l e : t rak prep ognimo čez pol ovi co, nat o še enkra t , pa še enkrat , nazadnje še n - t i č. Potem pa te pregi be po vrs t i odpr imo , ta ko da bo trak t voril v vsa- kem pregibu pravi kot . Trak (pr avzaprav njeg ov t lori s) je t ako dob il obliko odpr t ega (nesk le nj enega) pravokotnega mn ogokotnika, ki nos i eks oti čno i me zmajevo krivu~ja (n- t ega reda) . Traku seveda ne more mo v nedogled preg i bat i , cpi sana papirna metoda zato hi t ro odpove. 30ljša je geometrijska metoda. Na papi r narišimo dal j i co. Ta predstav lja zmajevo kr ivulj o reda O (ničkrat prega nj en trak) . Nad njo nar i šemo enkrat prelomljeno č rto - zmajevo krivuljo prvega reda . 51. 1 6 ~ / -, / -, I 1 / ,-, I I/ -, I I / -, I I/ O. 1. 2. 3. Nad krivu ljo 1. reda narišemo nato kr iv luj o 2. reda , i n to takole: nad vsa- ko dalj ico (stran i co mnogokotnik a) narišemo pre lomljeno črto (kate ti tri - kotnika) , enkrat zgora j, d ru g i č spodaj. Na sploh l ahko narišemo nad vsako zmajevo kr iv uljo njeno nas l edni co ta ko, da po vrs t i l omimo stranice , izme- ni čno na eno in na dr ugo s tran. Ogl ej mo si sedaj dvoj i ško met odo izdel ovanj a zmajevih kr iv ulj. Vzemimo kako zmaj evo kri vul j o, j i s to pimo na gla vo in potu j mo po nj ej prot i repu . Sprot i s i zapi sujemo pravokotne ovin ke, 1 naj predst avl j a levi, O pa desni ovi nek. Tako l ahko vsako zma j evo kr iv uljo zapišemo v obli ki dvoji škega š t evi l a. Nas seveda zani ma nasprotna smer: kako sestav i t i zapore dj e dvoj i ški h števi l, s pomočjo katerega bomo lah ko pote m ri sali krivulje. To naredimo takole: - prvo št evilo je 1 (kriv ul ja 1. re da), - vsako nasledn je štev i lo dobimo i z prej šnjega tak ol e: prejšnjemu št evi l u najprej dopi šemo 1, nato pa mu dopi šemo še prejšnje št evi lo samo s spremenjenim srednj i m bitom . 161 Prvi h nekaj zmaj evi h kriv ulj lahko zdaj zapišemo ta kol e : 1 110 1101100 1101 10011 100100 ~a s je že , da opazimo nekatere la stnost i zaporedj a zmaj evi h kr ivul j . Vsaka zmaj eva krivul ja na tan č no pokriv a svojo predhodni co (pr i vze l i smo seveda , da imajo vse krivulj e enako dol ge strani ce ) . š t evi l o kotov in dolžina kri - vul j e pa z ras točim re dom zelo hi tro n a ra š č a t a . Zmajeva krivulja n- t ega re - da i ma namreč k n 2 k + 1 ozi roma k n- 1 n kot ov, štev ilo s t ranic pa j e oč itno za eno v e č j e od štev i la kot ov: s ~ k + 1 n n (Pr i sklenjen ih mnogokot ni ki h je število strani c enako š t evi l u kotov.) Za r~ di omej enos t i člove ške pot rpežl j iv ost i bomo ri sanje zma jevih kr i vul j zaupa- li računalni ku . Program bo uporabljal tako imenovano "turtle" graf i ko (ž e l vj o graf i ko) , kar bi verje tno najustre zneje prevedli z i zrazom polama gra f ika . Ra čunalnik i nam reč poznajo dva način a uporabe grafičnega orodja. V pravokotni gra fiki rišemo dalj ice tako, da v ukazu navedemo pravokotn i koordinat i obeh kra - jišč, rec imo: line(x1 ,y1 ,x2, y2) Še bolj ob ičajna pa sta ukaza move(.T ,y ) za premik (dvignjenega) peresa na točko (x ,y ) in draw(x, y ) za r isanje dal jice od pre jšnje ga me sta pe resa do točke (x ,y). Na g ra f i č n em zasl onu imamo namesto peresa "žarek" . Polama grafika pa uporablja nami šl j en ris aln i s t roj (želv o) , ki potuje po papi rj u, se obrača i n riše . Kr mt l trno ga tako, da mu posredujemo polarne ko- 162 51. 2 51. 3 r 51. 4 ordi nat e (kot i n r azdaljo) . Zna ~ i l na ukaza sta t urn(a) , kar pomeni: obrni se za kot a , in draw( d) , kar pa pomeni: nari š i dal ji co z dol - ži no d enot v smeri, kamor s i trenu - tno obrnjen . Zdaj pa že l ahko zapi šemo podprogram za risanje zmajevih kr i vulj: PROCEDURE zmaj ( r e d : INTEGER) ; DEGIN IF red O THEN dra w(d) ELSE IF r ed> O THEN BEGIN zma j (re d - 1) ; turn(90) ; zmaj i -red + 1) END ELSE BEGIN z ,"",j ( - red - 1 I s turn ( -90 ) ; zmaj (red + 1 ) END Na za~ e tk u mo ramo iz brat i za~etek kr iv ulje , dol ži no njene st ranice d i n sam red kr ivulje . Na s l ikah 2., 3 i n 4 s i l ahko ogleda mo nekaj ra~ una l nikovih i zdel kov. Roman Roj ko 163