12
List za mlade matematike, fizike, astronome in raˇ cunalnikarje ISSN 0351-6652 Letnik 17 (1989/1990) Številka 2 Strani 98–108 Tomaž Pisanski: MREŽE TELES IN LOGO Kljuˇ cne besede: matematika, geometrija, raˇ cunalništvo, telo, logo, re- kurzivni program, mreža. Elektronska verzija: http://www.presek.si/17/974-Pisanski.pdf c 1989 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.

MREŽE TELES IN LOGO - · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

Embed Size (px)

Citation preview

Page 1: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

ii

“Pisanski-mreza” — 2010/6/16 — 10:37 — page 1 — #1 ii

ii

ii

List za mlade matematike, fizike, astronome in racunalnikarje

ISSN 0351-6652Letnik 17 (1989/1990)Številka 2Strani 98–108

Tomaž Pisanski:

MREŽE TELES IN LOGO

Kljucne besede: matematika, geometrija, racunalništvo, telo, logo, re-kurzivni program, mreža.

Elektronska verzija: http://www.presek.si/17/974-Pisanski.pdf

c© 1989 Društvo matematikov, fizikov in astronomov Slovenijec© 2010 DMFA – založništvo

Vse pravice pridržane. Razmnoževanje ali reproduciranje celote aliposameznih delov brez poprejšnjega dovoljenja založnika ni dovo-ljeno.

Page 2: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

MREŽE TELES IN LOGO

Pred nekaj leti sem v Londonu kupil knjigo Mathematical Modeis, ki stajo leta 1951 napisala H.M. Cundy in A .R. Rollet in je leta 1981 pri založbiTarquin Publications doživela tretjo izdajo. V njej so me pritegnilanavodila za sestavo papirnatih modelov raznih zanimivih poliedrov. Mednjimi so na primer pravilna telesa: tetraeder, kocka, oktaeder, dodekaederin ikozaeder.

Verjetno je bralcu dobro znana mreža nkocke, ki jo prikazuje slika 1.

Slika 1. Običajna mreža kocke Kodel!

Če iz papirja izrežemo mrežo telesa, jo s prepogibanjem vzdolžnotranjih črt (povezav) lahko preoblikujemo v polieder. Ker sem po naravilen in me natančno risanje z ravnilom in šestilom ter kotomerom utruja,sem se odločil, da si bom z računalnikom narisal mreže nekaterih teles injih nato uporabil pri konstrukciji modelov. Med jeziki, ki so na razpolago,se mi je zdel za ta podvig najprimernejši logo.

Zaradi težavnosti problema sem se omejil na telesa, ki imajo vse roboveenake dolžine in katerih vsa lica (stranske ploskve) so pravilnimnogokotniki. S tem so seveda odpadla zanimiva "zvezdna" telesa, kinimajo konveksnih lic. O njih je Presek že pisal. Najprej sem se moralodločiti za predstavitev mrež v računalniku. Ker je kljub poenostavljenemuproblemu izbrana rešitev precej zamotana, za samo razumevanje tegaprispevka pa ni nujno, da bi jo bralec v celoti dojel, jo tukajle prikazujem lena zgledih. Na sliki 2 so prikazane nekatere ravninske mreže, ki papredstavljajo le dele teles. Ob vsaki mreži je prikazana tudi njenapredstavitev, ki jo določajo oglati oklepaji. Na obodu mreže izberemo

Page 3: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

99

osnovni co. Mreža z izbrano osnovnico ima natančno določeno predstavitev.Tako sta na primer [[ )[ ][[ )[ ]]] in [[ ][[ ][ ]][ ]] predstavitvi mreže, ki jodobimo, če zlepimo trikotnik in kvadrat. Razlika je le v izbiri osnovnice.Ker ima ta mreža pet stranic na obodu, obstaja zanjo pet predstavitev.

L D/ -'----\ >\r \\I .. / \ \ \ I

\ \ \/''-'' I \ --, /'\ /

'-''-.",.------~ \~~ \t

[[J [J [J [J [J [JJ [[J [[J [J [JJJ [[f [J [[J [fJJ

/ \

~JY~- : I \/

~/ t-.\ / '\/ \ i-----1 \ -"

ffJ ffJ [JJ fJJ ~

[[J [[[J [11 [[1 [JJ [[J [JJ [[J [JJ [[J~'[JJ [[J [JJ [[1 [JllJ

Slika 2. Ravninske mreže in njihova predstavitev (zapis v računalniku) .

Ravninska mreža je splo šnejši pojem od mreže površine telesa.

Najprej sem napisal nekaj programov za risanje ravninskih mrež.Bralca, ki ima na razpolago logo .vabim, da programe preizkusi. Programiso napisani za Atarijev logo, ne bo pa jih težko prevesti v drugačne različice

loga.

Page 4: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

100

TOR:STO RIS:STORISO :STOKOT :NTOS:KTO BESEDI LO :BTORB :STO OSNOVNICA

TO BESEDILO :BP USETPaS [-300 -150]SETTEXT4PDTT :BSETTEXTOEND

... riše mrežo s predstavitvijo :S

... riše mrežo

... pomožni program za risanje mreže

... kot pri :N-kotniku

... dolžina stranice

... Napiše besedilo:B pod sliko

... Nariše sliko z besedilom vred

... S puščico označi osnovnico

TO RISO :S:NRTKOT:NIF EMPTYP :S [ST OP]PU FD :KORAK RT 180 PDRIS FIRST :SRT 180RISO BF :S :NEND

TOR :SesHTOSNOVNICARIS .sEND

TO RIS :SFD :KORAKIF EMPTYP :S [BK :KORAK SRISO :S 1 +COUNT :SEND

TO OSNOVNICAFD 10RT 160FD 10BK 10LT 160BK 10END

TO KOT :NOP 360 /:NEND

TOS :KMAKE "KORAK :KEND

TO RB :S :BR:SBESEDILO :BEND

Slika 3. Mrežo narišemo s programom RB, ki zbriše zaslon, na riše mrežo inna njej označi osnovnico, pod sliko pa napiše še ustrezno besedilo. Če pa jemreža le del slike, jo lahko na rišemo s programom RIS. Pred tem moramos programom S določiti dolžino stranice.

Page 5: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

101

Ker je "peš" težko konstruirati zamotane mreže, sem izdelal še nekajosnovnih programov za sestavljanje mrežo Najprej pa točno povejmo, kaj jeravninska mreža. Definiramo jo takole:Ravninsko mrežo lahko dobimo na dva na čina ,

(1) Lahko je pravilni ll-kotnik.(2) Lahko pa jo dobimo tako, da zlepimo dve stranici na obodu dvehravninskih mrež.

Ravninsko mrežo smo definirali samo s seboj. Taki definiciji pravimoinduktivna ali rekurzivna definicija, Stranice na obodu so ravno tistestranice mreže, ki jih še nismo uporabili pri lepljenju. Zdaj vemo, katereprograme za konstrukcijo mrež potrebujemo. Potrebujemo program, kisestavi mrežo pravilnega mnogokotnika, Potrebujemo pa tudi program, kilepi dve mreži. To pa še ni vse, Če ne želimo lepiti mrež vzdolž trenutnihosnovnic, potrebujemo še program, ki "premakne" osnovnico, To pomeni,da namesto izbrane osnovnice izbe re sosednjo stranico na obodu mreže.

TODG :S:TTOLG:S :TTOD:STOL:STON:N

oo. zlepi mreži :S :T vzdolž izbrane osnovnice0 00 zlepi mreži :S :T vzdolž izbrane osnovnice000 osnovnico mreže :S premakne za eno v desno0 00 osnovnico mreže :S premakne za eno v levo0 0 0 sestavi mrežo pravilnega :N-kotnika.

T ODG:S :Ttr EMPTYP :S [OP :T ]tr EMPTYP :T [OP :S]OP DG FIRST:S LP UT :T BF :SEND

TOLG :S :TrF EMPTYP :S [OP :T]tr EMPTYP :T [OP :S]OP LG FPUT :S BL :T LAST :TEND

TOL :SrF EMPTYP :S [OP [lJOP LG FP UT [] BL :S LAST :SEND

TON :NIF :N = 1 [OP [lJOPFPUT []N :N- lEND

TOD :SIF EMPTYP :S [OP []]OP DG FIRST :S LPUT [] BF :SEND

Slika 4. Osnovni programi za konstrukcijo ravninskih mrežo

Page 6: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

102

Programa DG in LG se ločita le po tem, kako izbereta novo osnovnicona zlepljeni mreži. Kasneje sem uporabljal le program DG . Pazljivi bralecbo opazil, da potrebujemo program LG v programu L. Očitno je, da lahko sprogrami na sliki 4 sestavimo poljubno ravninsko mrežo, torej tudi vsemreže pravilnih teles.

Problem je v bistvu rešen. Za prijetno delo pa kljub temu še marsikajmanjka. To sem opazil , ko sem poskusil konstruirati mrežo tetraedra (glejsliko 5). Mrežo tetraedra sestavljajo štirje trikotniki. Pri drugih zanimivihmrežah pa potrebujemo kvadrate, petkotnike, šestkotnike, osemkotnike.

//

<.

'''''........<,"<,,'-,,'-

'/.."-//

//

Tetri/eder %od(if !Jlitoeder

Slika 5. Mreže pravilnih teles: (a) tetraeder, (b) kocka, (c)oktaeder, (d) dodekaeder, (e) ikozaeder.

Zato sem napisal nekaj kratkih programov. Pri risanju mreže tetraedrabi bilo ugodno 'imeti na razpolago program, ki bi na stranice srednjegatrikotnika nalepil preostale tri trikotnike. To idejo lahko uporabimo tudipri risanju mreže dodekaedra. Tam moramo podvojiti mrežo iz petihpetkotnikov, ki smo jih nalepili na stranice šestega. Pogosto moramoosnovnico pred lepljenjem prestaviti kar daleč v levo ali desno. Tako sonastali programi s slike 6.

Page 7: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

103

Pol!eKiJel!er

TOTTOQTOPTOHTOOTO DECTOCC :STOLL:N :STODD :N :STOGG :N :K:STODB:STO ROZA :8 :T :NTORZ:S :TTOAT :S :T :L

IkoriJel!er

... trikotnik

.oo kvadratoo. petkotnikoo' šestkotnikoo.osemktonikoo. desetkotnikoo. obseg... osnovnico :N krat v levo.oo osnovnico :N krat v desnooo . :N krat nalepi :S nase, pri tem skače po :K... podvojiS.oo ria :N zaporednih stranic :T nalepi primerek :S.oO na vsako stranico :T nalepi primerek :8oo. na :S nalepi večkrat :T. Pri tem določa seznam

števil :L razrnike in COUNT :L je številoprimerkov :T, ki jih lepimo.

(program se nadaljuje na naslednji strani)

Page 8: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

104

TOPOP N 5END

TOHOP N 6END

TOOOP N 8END

TO DD:N :SIF :N =O[OP :S]OP DD :N - 1 D :SEND

TO LL:N :SIF :N =O[OP :S]OP LL :N - 1 L :SEND

TOCC :SIF EMPTYP :S [OP 1]OP ( + CC FIRST :S CC BF :S)END

TO ROZA :S :T :NIF :N =O[OP :T]MAKE "ROZA ROZA :S :T :N - 1 :OP DG :ROZA :SEND

TORZ :S :TOP ROZA :S :T CC :TEND

TODB :SOP DG :S :SEND

TO AT :S :T :LIF EMPTYP :L [OP :S]MAKE "TEMP DG :T LL FIRST :L :SOP AT :T EMP :T BF :LEND

T O DECOP N 10END

TOQOP N 4END

T O GG: N :K :SIF :N =O [OP []]OP DO :K DG :8 GG :N - 1 :K :8END

TOTOP N 3END

Slika 6. Nekatera lica, ki jih v mrežah pogosto potre bujemo.

Pomožni programi za konstrukcijo mrež .

Zdaj pa ni bilo več težko sestaviti mrež pravilnih teles.

Page 9: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

105

TO TETRAEDERTO KOCKATOOKTAEDERTO DODEKAEDERTO IKOZAEDERTO KINO oo. program, ki zaporedoma riše mreže teles.

TO KOCKAOPDG LLRZQQQEND

TOOKTAEDEROPDB DOG O OG TT OG TTEND

TO DODEKAEDEROPDB DRZPPEND

TO IKOZAEDEROPDB LLRZDGTDBTTEND

TO KINOS60RB TETRAEDER" TetraederS50RB KOCKA" KockaRB OKTAEDER "OktaederS30RB IKOZAEDER" IkozaederRB DODEKAEDER" DodekaederEND

TO TETRAEDEROPRZTTEND

Slika 7. Programi za konstrukcijo mrež petih pravilnih teles.

Z orodjem, ki ga imamo zdaj na razpolago, se lahko lotimo sestavljanjain risanja drugih zanimivih mrež. Pri velikih mrežah je v mojemračunalniku včasih zmanjkalo prostora. Včasih sem si pomagal tako, dasem shranil vmesne rezultate, ki so seveda predstavitve mrež. To naredimotudi takrat, ko nameravamo večkrat risati isto mrežo. Tako postane risanjeprecej hitrejše. Tako na primer namesto

R KOCKA, raje napišemo

MAKE "KOCKA KOCKAR:KOCKA Kogar zanima, kako je shranjena

mreža kocke v logu, pa lahko dodaše ukaz PR : KOCKA. Lahko panapiše RB : KOCKA: KOCKA.

Page 10: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

106

Na sliki 8 so nekateri programi, ki konstruirajo ravninske mreže, na sliki 9pa so narisane te mreže.

TO KUBOKTMAKE "KBK D RZ L DG T QTOP DG D :KBK :KBKEND

TOOBRTETOP DB D D DB L DG T HEND

TO OBRKUBOKTOprlEND

TOIKOZIDOMAKE "PTTL L DGT D DG TPMAKE "HICO L L RZ :PT T POP DG :HICO L :HICOEND

TO OBRKOCKA TO ROMBKUBOKTOP DB L L AT O L AT O T [O 2] [O 2] OP ATT RBCOC C [3 13]END END

TOOBROKTOP DB DD 6 DG H LL 3 AT DG H D DG H H Q [1 54]END

TO VELIKIMAKE "VV DG Q DD4 DG H DG DEC DD DG QDD 3 DG H QMAKE "VVV DD 13 AT DEC :VV [22222]OP DG D D :VVV :VVVEND

TO FILMS 30RB OBRTET [Obrezani tetraeder]RB KUBOKT [Kuboktaeder]RB OBRKOCKA [Obrezana kocka]RB OBROKT [Obrezani oktaeder]S 20RB OBRKUBOKT [Obrezani kuboktaeder]RB IKOZIDO [Ikozidodekaeder]SlORB VELIKI [Obrezani ikozidodekaeder]END

Slika 8. Programi za nekatere mreže.

Page 11: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,

107

Na tem mestu smo dolžni nekaj pojasnil. Pojem" obrezanega" telesa jeintuitivno jasen. Pomeni, da izbrano telo popravimo tako, da ga v bližinivsakega oglišča presekamo z ustrezno izbrano ravnino in tako" odrežemo"oglišče. Pri kocki na ta način za vsako oglišče dobimo enakostranični

trikotnik. Iz kockinih ploskev pa dobimo pravilne osemkotnike. Seveda silahko tako obrezovanje zamislimo bolj radikalno, tako da od originalnihrobov telesa nič ne ostane. Če takšno radikalno obrezovanje naredimo nakocki, dobimo telo, ki smo ga tu poimenovali kuboktaeder. Običajno priprogramiranju za imena programov jemljemo daljše opisne izraze. Mi pasmo s T označili trikotnik, s Q kvadrat, L je premik v levo, D je premik vdesno , itd. To je res v nasprotju z omenjenim načelom. Če pa pogledamo,kje in kako te programe uporabljamo (glej na primer program OBRTETna sliki 8), pa vidimo, da smo na ta način pregledno zapisali dokajzamotane konstrukcije. Navsezadnje pa je končna izbira imena stvarprogramerjevega okusa.

Page 12: MREŽE TELES IN LOGO -  · PDF fileRavninska mreža jesplošnejši pojem od mreže površine telesa. Najprej sem napisal nekaj programov za risanje ravninskih mrež. Bralca,