De bloeiende boom van Pythagoras

Author
Lauwerier, H.A.
Published in
Report AM N8503
Year
1980
Subject
TREE
Language
Nederlands
Category
C3 Mathematics
Archive number
6543

Open PDF(opens in a new window)

Show full text17 pages

Page 1

View in PDF(opens in a new window)
DE BLOETENDE BOOM VAN PYTHAGORAS H.A. LAUWERIER & © N - Centrum voor Wiskunde en Informatica, Amsterdam Er wordt beschreven hoe de zogenaamde Pythagorasboom met behulp van een eenvoudig ‘computerprogramma getekend kan worden. Naast de geometrische constructie wordt ook een aanpak via complexe getallen en het tweetallig talstelsel gegeven. 1980 MATHEMATISCH SUBJECT CLASSIFICATION: 51-01, 51-04. TREFWOORDEN: Pythagorasboom, complexe getallen, zelf-gelijkvormigheid. Notitie AM-N8403 Centrum voor Wiskunde en Informatica Postbus 4079, 1009 AB Amsterdam

Page 2

View in PDF(opens in a new window)
Centrum voor Wiskunde en Informatica Centre for Mathematics and Computer Science H.A. Lauwerier De bloeiende boom van Pythagoras Department of Applied Mathematics Notitie AM-N8403 Oktober

Page 3

View in PDF(opens in a new window)
DE BLOETENDE BOOM VAN PYTHAGORAS H.A. LAUWERIER Centrum voor Wiskunde en Informatica, Amsterdam Er wordt beschreven hoe de zogenaamde Pythagorasboom met behulp van een eenvoudig computerprogramma getekend kan worden. Naast de geometrische constructie wordt ook een aanpak via complexe getallen en het tweetallig talstelsel gegeven, 1980 MATHEMATISCH SUBJECT CLASSIFICATION: 51-01, 51-04, TREFWOORDEN: Pythagorasboom, complexe getallen, zelf-gelijkvormigheid. Notitie AM-N8403 Centrum voor Wiskunde en Informatica Postbus 4079, 1009 AB Amsterdam

Page 4

View in PDF(opens in a new window)
1. Inleiding Zo een veertig jaar geleden, in de donkere dagen van de tweede wereldoorlog, tekende Ir. A. Bosman voor het eerst de z.g. boom van Pythagoras, een meesterwerk van technisch tekenwerk. Heden ten dage kan ieder die over een personal computer met een plotter beschikt binnen een uur al een fraaie boom tevoorschijn toveren! Wie zich tot taak stelt een computerprogramma in een eenvoudige programmeertaal als Basic te schrijven wordt welhaast gedwongen de Pythagorasboom wat nader te analyseren. De boom is getekend in fig. 1. Het basiskant V, is de stam van de volledige, in gedachten oneindig voortgezette, Pythagorasboom. Elk volgend vierkant kan opgevat worden als de stam van een kleinere boom, een kopie van de hele boom op kleinere schaal en in een gedraaide stand. Elk onderdeel van de Pythagorasboom is dus gelijkvormig met het geheel. We noemen dit zelf-gelijkvormigheid. Het is als het patroon van behangselpapier dat er altijd eender uitziet ongeacht of wij er op grote afstand naar kijken of het met de | ogen van een overheen kruipende vlieg beschouwen. In fig. 1 zijn de vierkanten V, zodanig genummerd dat V, splitst in de twee vierkanten met rangnummers 2n en 2n +1 en wel 2n naar links en 2n +1 naar rechts. V2, volgt uit V, door op V, een lineaire verkorting van 1 / V2 en een draaiing van 45° in positieve draaizin toe te passen. V2, +1 volgt uit V, op analoge wijze met een draaiing van 45° in negatieve draaizin. Het tekenen van de boom gaat het beste in series van 1,2,4,8,16,... waarbij alle vierkanten in dezelfde serie even groot zijn. De stelling van Pythagoras zegt dat de som van de oppervlakken van alle vierkanten in dezelfde serie steeds gelijk is aan de oppervlakte van de stam: Hieruit volgt al dat er op den duur een enorme overlapping moet optreden om de hele boom op een begrensd stuk papier te kunnen afbeelden. In de volgende paragraaf gaan we in detail op de (computer) constructie van de Pythagorasboom in. Als een gewetensvol wiskundige vragen we ons vervolgens af hoe het eindigt. De “laatste” serie vierkantjes bestaat uit oneindig veel punten waarvan het totale “oppervlakte” weer gelijk aan dat van de stam is. Dat is moeilijk voorstelbaar, maar deze formulering is dan ook weinig precies. Beter is het om te spreken van een limietpunt van de Pythagorasboom. Zo’n limietpunt heeft de eigenschap dat een willekeurig klein cirkelschijfje met het limietpunt als middelpunt altijd een (heel klein) vierkantje van de Pythagorasboom bevat. Sterker nog, elk cirkelschijfje bevat een miniatuurboompje. De verzameling van alle limietpunten duiden we aan met IT, de griekse hoofdletter P. We noemen II de bloesem van de Pythagorasboom en elk limietpunt, d.w.z. elk punt van IT een bloesem. II is een onvoorstelbaar gecompliceerde kromme met kronkels in kronkels in kronkels in … . Net als de boom is ook II zelf-gelijkvormig. Het is uitgesloten dat we II volledig kunnen tekenen maar wel kunnen we er een indruk van krijgen door er b.v. 1000 punten, op toevallige wijze geselecteerd, van weer te geven. Dat is overigens een vrij eenvoudige zaak welke in § 3 nader besproken zal worden. Het resultaat is weergegeven in fig. 2. Van de Pythagorasboom kunnen allerlei variaties en generalisaties bedacht worden, maar we beperken ons hier tot de ”Pythagorasboom in de winter” waarbij in plaats van vierkanten lijnstukjes worden getekend zodanig dat de lijnstukjes weer een boomstructuur vormen. In fig. 3 laten we zien hoe dat er uitziet. In de vierde en laatste paragraaf laten we als een extra zien hoeveel gemakkelijker alles zich laat beschrijven met behulp van complexe getallen, een argument om op school complexe getallen op meetkundige wijze te introduceren in samenhang met vectormeetkunde in het platte vlak. Voorts geeft de Pythagorasboom nog aanleiding tot enkele opmerkingen over meetbare en onmeetbare getallen voorgesteld door al of niet repeterende breuken in het tweetallig talstelsel.

Page 5

View in PDF(opens in a new window)
Figuur |. Pythagorasboom

Page 6

View in PDF(opens in a new window)
°z INNIIA © Ha o jan D 55 ed @ 0 jen =) ti * è Se sè teste x% N Rid è e @ ee

Page 7

View in PDF(opens in a new window)
2. De Pythagorasboom Het tekenen van de boom van Pythagoras met behulp van de computer vereist de bepaling van de positie van V, voor elk rangnummer. We gebruiken daartoe een Cartesisch coördinaten-stelsel waarbij de oorsprong het middelpunt van V, is en’waarbij de y-as de symmetrieas van de boom is. De onderste hoekpunten van V zijn daarbij (—1,—1) en (1,—1). Is P, het middelpunt van V, en è, de helling van — V, dan volgt uit de constructie van de boom allereerst dat on = bn + 45° en dont = dn — 45°. De coordinaten van Ps, en van P;, +; kunnen uit die van P, afgeleid worden aan de hand van fig. 4. Figuur 4, De afbeelding van P naar P' In vectornotatie (volg de stippellijn van P naar P’) is x) fx h cos(p+90°) 2 h V2 cos($+135°) y| = DT [a sinco+90°)| * Ir Vasin(é+135")P of uitgewerkt x — 2h sing — h cos, x’ = y = y + 2h cosp — h sing, (2.1a) Tesamen met d = + 45° (2.1b) is dit een transformatie die beschrijft hoe een vierkant Vs, uit het vierkant V,, ontstaat. We duiden deze transformatie aan met A. Op overeenkomstige wijze ontstaat vierkant V>,4, uit V, door de transformatie B welke beschreven wordt door x’ = x — 2h siné + Ècos, y = y + 2h cos + A sind, (2.2) d = è — 45. We kunnen met deze transformaties A en B de positie van elk vierkant bepalen. We doen het eens voor n = 27. De route is 1> 3 — 6 — 13 —> 27.

Page 8

View in PDF(opens in a new window)
Die volgorde heeft alles te maken met de schrijfwijze van 27 in het tweetallig stelsel: (= 164+8+2+1). Nog een voorbeeld om het goed te zien. Voor n = 361 = 101101001(= 256+64+32+8+1) is de route TT 11 — 22 > 45 > 90 — 180 — 361. 1—2 — 5 A B A B B B A A Het algemene patroon is nu wel duidelijk. We schrijven het rangnummer n tweetallig als n = Dybm —1bm—2° * + babıbe, d.w.z. n = bo + 2b, + by + Pb, + +++ +2"b,, waarbij elke binaal b; een nul of een één is. In de rij bin ~19m 2" *" babıbo vervangen we elke nul door A en elke één door B en dan verkrijgen we daarmede de rij transformaties die tot V, voert. Alle ingredienten van het computerprogramma ”Pythboom” zijn hiermede beschreven. De vierkanten tekenen we in series van 2” van gelijke grootte volgens oplopend rangnummer n (regels 100, 110). Voor elke n bepalen we de binalen welke we opbergen in de array (a;) voor j = 1 tot m (regels 130-160). Overigens zijn er microcomputers waarop de binalen van een willekeurig getal rechtstreeks verkregen kunnen worden. (Eigenlijk een omweg: de computer rekent intern tweetalig maar uitwendig tientallig terwijl wij weer moeten omrekenen naar tweetalig). In elk geval beschikken we in regel 90 over een rij nullen en eenen welke ons vertellen of we in de route naar V, een transformatie A of B moeten uitvoeren. De transformatie A is als subroutine beschreven in de regels 380-420. B is gegeven in de regels 330-370. Bij deze transformaties is gemakshalve ook de verkorting van de zijden van de opvolgende vierkanten met 1 / V2 opgenomen. Aan het begin van regel 210 beschikken we dus over de coördinaten x,y van P,, de helling $ van V, en de grootte h van de halve zijden. Het tekenprogramma om m.b.v. de hoekpunten van V, het vierkant te tekenen staat in de regels 210, 220 en 270-310. 10 20 30 40 50 60 70 80 90 100 10 120 130 140 150 160 REM ’PYTHBOOM’ GCLEAR @ DEG SCALE -7,7,-4,10 DIM A(l2) DISP “ENTER ORDER” INPUTP X=0@Y=0 U=1@V=1 FORM=0 TOP FOR N = ZM TO XM+ 1}-1 L=N@H=1 X=0@Y=0@F=0 FORK = 0 TO M-1 A(M-K) = L MOD 2 L=LDIV2 | GOSUB 270 230 240 + NEXTN NEXTM 250 END 260 MOVE X-V, Y-U 210 DRAW X+U, Y-V 280 DRAW X-U, Y+V 290 DRAW X-U, Y+V 300 DRAW X-V, Y-U 310 RETURN 320 X = X+H* (COS (F)-2*SIN (F)) 330 Y = Y+H* (2*COS (F)+SIN (F)) 340 350 F = F-45 360 H = H/SQR (2) 370 RETURN NEXT K 380 x = X-H*(COS (F)+2*SIN (F)) X=0@Y=0 390 Y = Y+H*(2*COS (P)-SIN (F)) 180 190 200 FORJ=1TOM IF AG) = 0 THEN GOSUB 380 ELSE GOSUB 330 NEXTJ 400 410 420 210 U = H*(COS(F)+SIN (F)) 430 17 220 V = H* (COS (P-SIN (F)) =F = F+45 H= H/SQR (2) RETURN

Page 9

View in PDF(opens in a new window)
3. De bloesem met behulp van twee De zelfgelijkvormigheid van de Pythagorasboom kan beschreven worden sformatie met een idstran ormighe draaivermenigvuldigingen. Een draaivermenigvuldiging in een gelijkv centrum C, een draaihoek $ en een schaalfactor r. y-as xras Figuur 5, Draaivermenigvuldiging

Page 10

View in PDF(opens in a new window)
Figuur 3. Pythagorasboom in de winter

Page 11

View in PDF(opens in a new window)
Met zo’n draaivermenigvuldiging (zie fig. 5) gaat het punt P zodanig in P’ over dat Z P'CP =o en CP’:CP =r. In coördinaten kunnen we de transformatie a.v. beschrijven. Kiezen we voorlopig C in de oorsprong, geven we P de coördinaten (x,y) en P’ de coördinaten (x’ ,y’) dan is (zie fig. 5) x = CP cosy, y = CP siny en verder a x’ = CP’ cos(y+¢) = r-CP(cosycosp—sinysing) = = rcos¢ CP cosy — r sing CP siny = = rx cosh — ry sind. Schrijven we a =rcosd, b = r sing (3.1) dan is dus x’ = ax —by. Analoog is (projecteer op de verticale y-as) y Vi CP’ sin(y+¢) = r-CP(sinycosb + cosysing) = = r cost CP siny + r sing CP cosy = = ry cos + rx sind ofwel y’ = bx + ay. Samenvattend wordt een draaivermenigvuldiging om de oorsprong beschreven door het formulepaar x = ax —by, y = bx +ay, (3.2) Om een draaivermenigvuldiging om een willekeurig punt C met coördinaten x9,y9 te beschrijven behoeven we in (3.2) slechts x en y te vervangen door x —xg en y —yo, d.w.z. x = a(x —xo)—b(y — yo) + Xo, y = b(x —xo)+a(y —yo) + yo (3.3) De juistheid hiervan blijkt nog eens achteraf wanneer we x = xo, y = Yo invullen. Het resultaat is x’ = xo," = Yo wat betekent dat het punt (x0,y0) niet van plaats verandert en dus m.a.w. het rotatiecentrum is. We beschouwen het begin van de Pythagorasboom zoals geschetst in fig. 6 nog eens aandachtig. Is het coördinatenstelsel gekozen als in de vorige paragraaf dan kunnen we constateren dat het punt A(—3,1) het centrum is van een draaivermenigvuldiging met ¢ = 45° en r = 1/ V2. Die draaivermenigvuldiging voert een willekeurig vierkantje van de Pythagorasboom over in een ander vierkantje.

Page 12

View in PDF(opens in a new window)
K 32 “ Al... A, N, 4 _ ‘ N N , N _ 10 N 5 : h 1] 2 | 1 1 12 3 Li 6 | 1 ' 1 13 } ! La t 7 I B S= 7 N N Figuur 6, Centra van draaivermenigvuldigingen

Page 13

View in PDF(opens in a new window)
Evenzo is B(3,1) centrum van een draaivermenigvuldiging met $ = —45 enr = 1/ V2. Duiden we de transformaties symbolisch met de letters a, en 8 aan dan volgt door substitutie van de gegeven waarden in (3.1) en (3.3): za —y)—1, Wy = ae t+y)+2, a (3.4) en (x +y)+1, Bly = H-xty)+2. 65) Het volgende lijstje laat zien hoe de vierkanten door a en B getrasformeerd worden. Daarbij moeten de rangnummers n weer in series van 2” gegroepeerd worden volgens 2 En <2t1 |m |B a n 3 | 0 2 1 1 4 | 6 2 7 5 3 8 | 12 4 9 | 13 5 6 | 10 | 14 | 2 [11 | 15 7 8 | 16 | 24 {17,25 | 3 9 10 | 18 | 26 De algemene regel is blijkbaar an =n + 2”, Bn =n + rt, (3.6) Zowel a als B voert de hele Pythagorasboom in een iets kleinere boom over. Elke combinatie van a en B transformeert de Pythagorasboom in een kleinere deelboom. Het effect van b.v.aß (eerst B dan a) op een willekeurig vierkantje kunnen we afleiden uit de bovenstaande tabel en uit formule (3.6), b.v. aB3 = 11. Anderzijds is Ba3 = 9. Een willekeurige volgorde van a’s en ß’s als b.v. aBBaBaaafaf definieert ook weer een gelijkvormigheidstransformatie welke de Pythagorasboom in een kleinere boom overvoert. De limietpunten van vierkanten, de z.g. bloesem van de Pythagorasboom, duiden we zoals eerder afgesproken aan met II. Uit het bovenstaande volgt dat de verzameling IT in zichzelf overgaat bij toepassing van de transformaties a en ß. II is dus zelf-gelijkvormig zowel t.o.v. a als to.v. B. Is P een willekeurig punt van II dan transformeren zowel a als 8 het punt P in een ander punt van II Daarmede is

Page 14

View in PDF(opens in a new window)
een mechanisme verkregen om een willekeurig aantal punten van II te bepalen wanneer uitgegaan wordt van een bekend punt van II. De centra A en B behoren in elk geval tot II. Om een indruk van II met behulp van de computer te verkrijgen bepalen we een toevallige rij punten P,,P,,P;,... waarbij b.v. P;=4 en elk volgend punt uit het voorafgaande punt verkregen wordt als Pe+1 = @Pk of — | (3.7) Px+, = BPx waarbij de keuze van a of B bepaald wordt door het toeval, kruis of munt, d.w.z. met de door de computer gegenereerde “random numbers”. Is s b.v. zo een door de computer bepaald toevallig getal uit het eenheidsinterval, d.w.z. 0<s<1, dan kunnen we (3.7) vertalen als: ifs < 0.5 then P, 4; = aP else P.+ı = BP,. Het bijgaande computerprogramma ”Bloesem” is daarmede voldoende verklaard. Het is eigenlijk niets anders dan de combinatie van (3.7) met de als subroutine beschreven transformaties (3.4) en (3.5). 10 20 30 40 50 60 70 80 90 100 10 120 130 140 150 160 170 180 190 REM ”BLOESEM” GCLEAR SCALE -7,7,-4,10 X=3 @ Y=1 FOR K=1 TO 2000 IF RND <.5 THEN GOSUB 110 ELSE GOSUB 150 MOVE X,Y @ PLOT X,Y . MOVE -X,Y @ PLOT -X,Y NEXT K END Z=X X=(X+Y)/2+1 Y=(Y-Z/2+2 RETURN Z=X X=(X-Y)/2-1 Y=(Z+Y)/2+2 RETURN END 4. Complexe getallen en het Tweetallig talststelsel Wanneer we vertrouwd zijn met de complexe getallen kan de constructie en analyse van boom en bloesem veel fraaier beschreven worden. Een complexe getal c = a +bi interpreteren we daarbij als een (vrije) vector met componenten (a,b), een gericht lijnstuk of een pijl welke we ergens aan kunnen hechten. Optellen van complexe getallen is dus meetkundig het optellen van vectoren aan elkaar gehecht volgens het kop-staart principe. Vermenigvuldigen van twee complexe getallen is aequivalent met de in fig. 5 en door form (3.2) beschreven draaivermenigvuldiging. Is z = x +yi het complexe getal dat met P (x,y) correspondeert en is c = a +bi dan kunnen we (3.2) veel beknopter schrijven als waarbij P’(x’ Jy’) het beeldpunt is van z' = x +y'i.

Page 15

View in PDF(opens in a new window)
Figuur 7, Systematische nummering van de takken

Page 16

View in PDF(opens in a new window)
We beschouwen nu nog eens de Pythagorasboom in de takkenvorm van fig. 7. We duiden de positie van P,, het eindpunt van een tak, aan met het complexe getal z,. We zijn nog vrij de oorsprong en de eenheid op willekeurige wijze te kiezen. De volgende keuze blijkt erg handig te zijn. We nemen zo = 0, zj = 1. De vectoren PP, en P,P; duiden we aan met c en € waarbij © de complex geconjugeerde van c is en c = Hl+ti). si (4.2) We herhalen ue even: complex vermenigvuldigen ‘met c betekent draaien over +45° en verkorten met de factor 1 / V2, met € analoog draaien over —45 en dezelfde verkorting. Elk vectorieel lijnstukje in fig. 7 kunnen we gemakkelijk uitdrukken als een product met factoren c en c. Bijv. PoP; = 1, PP; =c, P3P6 = cc, = 27 = 22 = 250 = 1te tee + etc + 4e. 232 PP ia = ce PiPzs = °C", PasPso = c°c°. Voor de positie van Py volgt hieruit Voor elk rangnummer is er zo’n rij. De algemene vorm is blijkbaar Zn = 1teıtcatc3tc4t+t >. (43) waarbij elke term een factor c of c meer heeft dan de voorafgaande term. Omdat le] = |e] = 27% is ler] = 24/2 (44) Laten we n naar oneindig gaan dan gaat (4.3) over in een oneindig voortlopende reeks die dankzij (4.4) convergeert op de wijze van een meetkundige reeks. Elke reeks van de vorm (4.3) stelt een limietpunt van de Pythagorasboom, een bloesempje, voor. De twee gelijkvormigheidsformaties a en B zien er in complexe notatie ook veel eenvoudiger uit: a: z' = l+ez, 45 Biz) =1+&. (4.5) Een bloesempje kunnen we symbolisch voorstellen door een reëel getal tussen 0 en 1 in een tweetallige representatie. We laten het zien aan de hand van het volgende voorbeeld: z= HH 1 0 Hele 1 0 0 Hette 0 1 +... tee (4.6) r = 0.1010001 : --. Het recept is dus een nul voor een factor c en een één voor een factor ¢. Die rij van nullen en éénen geeft ook de route aan welke tot het limietpunt leidt. In het gegeven voorbeeld PoP P3P 6P 13P 26P 52P 104P 209 |, d.w.z. een nul voor de linkertak en een één voor de rechtertak van een vork. Op deze wijze hebben we een toevoeging tot stand gebracht tussen de getallen in het gesloten interval [0,1], d.w.z. de punten van een lijnstuk, en de limietpunten voor de Pythagorasboom. Die toevoeging is wederkerig eenduidig en wat nog veel mooier is, de toevoeging is ook continue. D.w.z. dat reéle getallen die vlak bij elkaar liggen corresponderen met bloesempjes die ook vlak bij elkaar liggen. De reden is heel eenvoudig. Zijn b.v. ri en r vlak bij elkaar dan zijn in de tweetallige breukontwikkeling zeg de eerste 100 binalen identiek. Dit betekent dat in de corresponderende z-reeksen de eerste 100 termen ook identiek zijn. Omdat alle z-reeksen convergeren als een meetkundige reeks met reductiefactor 1 / V2 zijn de twee limietpunten van de Pythagorasboom ook dicht bij elkaar. De onderlinge afstand zouden we zelfs gemakkelijk kunnen schatten.

Page 17

View in PDF(opens in a new window)
De limietpunten van de Pythagorasboom zijn dus een continue afbeelding van een lijnstuk en dit is de zuiver wiskundige definitie van een continue kromme. De bloesem II van de Pythagorasboom is dus een continue kromme, maar dan wel een onvoorstelbaar gekronkelde kromme en bepaald geen gladde kromme zoals we ons meestal plegen voor te stellen. IT is een continue kromme die nergens een raaklijn meetkundig aequivalent van een funktie die wel continu maar nergens differentieerbaar is! D We besluiten met een paar suggesties voor generalisaties. Kijken we b.v. naar fig. 7 dan kunnen we de takken P,P, P‚P3 van de vork bij P, een andere richting en een andere verkortingsverhouding geven. De te tekenen figuur wordt dan gebouwd op twee gelijkvormigheids-tranformaties « met centrum A en ß met centrum B. Plaatsen we b.v. A in (-1,0) en B in (0,1) dan kunnen we a en B voorstellèn door (verg. form. 3.4 en 3.5) | & “= ax —by +a —1, y = bx tay +b, en x = ext+dy—c +1, B y = —dx +cy +d. Daarbij moet ter wille van de convergentie wel voldaan zijn aan a? + b? < 1, c? + d? < 1, maar overigens zijn a,b,c,d willekeurig. Het bloesemprogramma kan daarmede het gemakkelijkst aangepast worden. Het tekenen van de takkenstructuur als fig. 7 kost iets meer bewerking. Maar alleen wanneer a,b,c,d aan een paar speciale voorwaarden voldoen hoort er ook een echte - scheefgegroeide Pythagorasboom bij, en dat is een leuke uitzoekerij.