Zum Inhalt springen

Pythagoras-Baum

aus Wikipedia, der freien Enzyklopädie
Datei:Pythagoras tree construct 5of5.png
Pythagoras-Baum
Datei:Pythagoras tree 1 1 13 Summer.svg
Symmetrischer Pythagoras-Baum

Ein Pythagoras-Baum ist eine besondere Art eines Fraktals. Das ursprüngliche Verfahren zum Erstellen eines Pythagoras-Baums basiert auf dem Satz des Pythagoras, in dem auf ein Quadrat zwei weitere, kleinere Quadrate im rechten Winkel angeordnet werden. Durch rekursives Aufrufen dieser Konstruktionsvorschrift wird ein Fraktal erzeugt, das im Grenzfall der Form eines Baumes ähnelt. Durch den rechten Winkel des eingeschlossenen Dreiecks bleibt die Gesamtfläche jeder Ebene gleich, daher ist die Fläche des Grundelementes (Stammes) genau so groß wie die Summe der Fläche aller äußeren Elemente (Blätter).

Konstruktion

(Bild 1)
Bild 1
(Bild 2)
Bild 2
(Bild 3)
Bild 3
(Bild 4)
Bild 4

Aus einer Grundlinie wird ein Quadrat konstruiert. Auf diesem Grundelement (Stamm) wird auf der Oberseite ein Thaleskreis gezeichnet und dieser beliebig geteilt. Der entstehende Punkt wird mit dem Grundelement verbunden (Bild 1), so dass ein rechtwinkliges Dreieck entsteht. Aus den beiden entstandenen Schenkeln des Dreiecks wird wieder jeweils ein Quadrat konstruiert (Bild 2), ein Thaleskreis aufgezeichnet, dieser geteilt, ein rechtwinkliges Dreieck konstruiert (Bild 3) und so wieder zu einem Quadrat erweitert (Bild 4). Dieser Vorgang wird beliebig oft wiederholt.

Symmetrischer Pythagoras-Baum

Berechnungen

Im Folgenden sei die Seitenlänge des ersten Quadrats (dem „Stamm“) gleich <math>a</math>. Wenn die Innenwinkel des ersten rechtwinkligen Dreiecks gleich 45°, 45° und 90°, die Seitenlängen also gleich <math>\tfrac{\sqrt{2}}{2} \cdot a</math>, <math>\tfrac{\sqrt{2}}{2} \cdot a</math> und <math>a</math> sind, ist der Pythagoras-Baum symmetrisch. Die Symmetrieachse ist die Mittelsenkrechte der Hypotenuse des ersten rechtwinkligen und gleichschenkligen Dreiecks.

Höhe

Datei:Grundkonstruktion Ast Pythagorasbaum.jpg
Grundkonstruktion eines Astes

Höhe des ersten Astes beträgt <math>2 \cdot a</math> (siehe Abbildung). Um die maximale Höhe zu ermitteln, genügt es Äste der abgebildeten Form aufeinander zu stellen. Jeder Ast hat die halbe Grundseite des vorigen Astes. Damit ist die Höhe des zweiten Astes <math>a</math>, die des dritten <math>\tfrac{a}{2}</math> usw. Die Gesamthöhe <math>h</math> beträgt damit:

<math>h = 2 \cdot a + a + \frac{a}{2} + \frac{a}{4} + \frac{a}{8} + \ldots = 2 \cdot a \left(1 + \frac{1}{2} + \frac{1}{4} + \frac{1}{8} + \ldots\right) </math>

Also ergibt sich mithilfe der geometrischen Reihe:<ref name=":0">Larry Riddle, Agnes Scott College: Pythagorean Tree</ref>

<math>h = 2 \cdot a \cdot \sum_{i=0}^{\infty} \left(\frac{1}{2} \right)^{i} = 2 \cdot a \cdot \frac{1}{1-\frac{1}{2}} = 4 \cdot a </math>

Breite

Der linke Ast entspricht einem querliegenden Baum mit der Grundseite <math>\frac{a}{2}</math>. Ebenso der rechte Ast. In der Mitte bleibt ein Stamm mit der Breite <math>a</math> und den beiden Hauptästen mit jeweils der Breite <math>\frac{a}{2}</math>. Die Breite beträgt also<ref name=":0" />

<math>\underbrace{\frac{h}{2}}_{\begin{array}{c}\scriptstyle{\text{Höhe linker}} \\ \scriptstyle{\text{querliegender Baum}} \end{array}} + \underbrace{\frac{h}{2}}_{\begin{array}{c} \scriptstyle{\text{Höhe rechter}} \\ \scriptstyle{\text{querliegender Baum}} \end{array}} + a + \frac{a}{2} + \frac{a}{2} = \frac{4 \cdot a}{2} + \frac{4 \cdot a}{2} + a + \frac{a}{2} + \frac{a}{2} = 6 \cdot a </math>

Stammlänge

Datei:Pythagorasbaum Seitenlaenge.jpg
Seitenlänge und Länge der Baumkrone

Zur Berechnung der Stammlänge (siehe rote Linien in der Abbildung) müssen die Seitenlängen der Quadrate addiert werden:

  1. Quadrat: <math>\left(\frac{\sqrt{2}}{2}\right)^0 \cdot a = a</math>
  2. Quadrat: <math>\left(\frac{\sqrt{2}}{2}\right)^1 \cdot a = \frac{\sqrt{2}}{2} \cdot a</math>
  3. Quadrat: <math>\left(\frac{\sqrt{2}}{2}\right)^2 \cdot a = \frac{1}{2} \cdot a</math>
  4. Quadrat: <math>\left(\frac{\sqrt{2}}{2}\right)^3 \cdot a = \frac{\sqrt{2}}{4} \cdot a</math>

usw.

Es kommt immer der Faktor <math>\tfrac{\sqrt{2}}{2}</math> hinzu. Wenn man die Nummerierung bei 0 beginnt, ist die Seitenlänge des <math>i</math>-ten Quadrats gleich <math> ( \tfrac{\sqrt{2}}{2} )^i \cdot a </math>. Die Gesamtlänge der roten Linien beträgt also:

<math>a \cdot \sum_{i=0}^{\infty} \left(\frac{\sqrt{2}}{2}\right)^{i} = a \cdot \frac{1}{1 - \frac{\sqrt{2}}{2}} = \frac{2 \cdot a}{2 - \sqrt{2}} = a \cdot \left(2 + \sqrt{2}\right) \approx 3{,}414 \cdot a</math>

Länge der Baumkrone

Datei:Pythogorasbaum - rechts links Ast.jpg
Rechts-links-Ast eines Pythagoras-Baumes

Zur Berechnung der Länge der Baumkrone (siehe blaue Linien in der Abbildung) zuerst folgende Überlegungen: In die Ecken des Baumes kommt man, indem man die Äste abwechselnd links und rechts entlanggeht. Um die Länge der oberen horizontalen Linie zu berechnen, wird zuerst die Abweichung von der Stammmittellinie, die durch das Wachstum eines Rechts-links-Astes entsteht, berechnet.

Grundseite Abstand von der
Mittellinie <math>x_{i}</math>
Erste Rechts-links-Kombination
(Quadrat, Dreieck, Quadrat, Dreieck – in der Abbildung gestrichelt)
<math>a</math> <math>x_1 = \frac{a}{2} + \frac{a}{4} = \frac{3}{4} \cdot a</math>
Zweite Rechts-links-Kombination
(in der Abbildung gepunktet)
<math>\frac{a}{2}</math> <math>x_2 = \frac{3}{4} \cdot \frac{a}{2}</math>
Dritte Rechts-links-Kombination <math>\frac{a}{4}</math> <math>x_3 = \frac{3}{4} \cdot \frac{a}{4}</math>
i-te Rechts-links-Kombination <math>\left(\frac{1}{2}\right)^i \cdot a</math> <math>x_i = \frac{3}{4} \cdot \left(\frac{1}{2}\right)^i \cdot a</math>

Der maximale Abstand der letzten Spitze von der ersten Mittellinie ist dann die Summe der einzelnen Abstände:

<math>\sum_{i=0}^{\infty} \frac{3}{4} \cdot \left(\frac{1}{2}\right)^i \cdot a = \frac{3}{4} \cdot a \cdot \sum_{i=0}^{\infty} \left(\frac{1}{2} \right)^i = \frac{3}{4} \cdot a \cdot \frac{1}{1 - \frac{1}{2}} = \frac{3}{2} \cdot a </math>

Ein Links-rechts-Ast hat also den maximalen Abstand <math>\tfrac{3}{2} \cdot a </math> von der ersten Mittellinie. Das Gleiche gilt für den gespiegelten Rechts-links-Ast. Die beiden oberen Ecken haben also den maximalen Abstand von <math>2 \cdot \tfrac{3}{2} \cdot a = 3 \cdot a</math>. Dies ist die Länge der oberen horizontalen blauen Linie.

Die Längen der anderen blauen Linien kann man leicht berechnen. Die zweite blaue Linie entspricht der oberen horizontalen Line des Hauptbaumes usw.

Grundseite Baum Länge
Erste blaue Linie <math>a</math> <math>3 \cdot a</math>
Zweite blaue Linie <math>\frac{\sqrt{2}}{2} \cdot a</math> <math>3 \cdot \frac{\sqrt{2}}{2} \cdot a</math>
Dritte blaue Linie <math>\left(\frac{\sqrt{2}}{2}\right)^2 \cdot a</math> <math>3 \cdot \left(\frac{\sqrt{2}}{2}\right)^2 \cdot a</math>
i-te blaue Linie <math>\left(\frac{\sqrt{2}}{2}\right)^i \cdot a</math> <math>3 \cdot \left(\frac{\sqrt{2}}{2}\right)^i \cdot a</math>

Jede blaue Linie ist dreimal so lang wie die zugehörige rote Linie. Damit ist auch die Gesamtlänge der blauen Linie das Dreifache der roten Linie: <math>3 \cdot a \cdot \left(2 + \sqrt{2}\right)</math>

Umfang

Wenn man den Baum einmal umrunden möchte, muss man zweimal die blaue und zweimal die rote Linie und die Linie, auf der der Baum steht, entlanggehen. Die obere blaue Linie ist hierbei doppelt, diese muss man also einmal abziehen:

<math>2 \cdot \underbrace{3 \cdot a \cdot \left(2 + \sqrt{2} \right)}_{\scriptstyle{\text{blau}}} \underbrace{- 3 \cdot a}_{ \begin{array}{c}\scriptstyle{\text{doppelt gerechnete}} \\ \scriptstyle{\text{obere horizontale}}\\ \scriptstyle{\text{Firstlinie}} \end{array}} + 2 \cdot \underbrace{a \cdot \left(2 + \sqrt{2} \right)}_{\scriptstyle{\text{rot}}} \underbrace{+ a}_{\scriptstyle{\text{Grundlinie}}} = 2 \cdot a \cdot \left(7 + 4 \sqrt{2}\right) \approx 25{,}313 \cdot a</math>

Abstand zum Rasen

Datei:Pythagorasbaum Abstand zum Gras.jpg
Abstand der Blätter zum Rasen

Damit man mit dem Rasenmäher bis zum Stamm fahren kann, muss man wissen, wie hoch die lichte Höhe unter dem Blattwerk des Baumes ist. Wie groß ist der Abstand der ersten Blätter zum Rasen?

Bei einer Grundseite von <math> a </math> ist die Gesamtbreite <math>6 \cdot a </math>. Eine Seite des Baumes steht also <math>\tfrac{5}{2} \cdot a </math> über den Stamm hinaus (siehe grüne Linie in der Abbildung). Zur Berechnung der gesuchten lichten Höhe betrachtet man den dritten Ast, den ersten horizontal wachsenden Ast (das dritte Quadrat). Die Grundseite dieses Teilbaumes beträgt: <math>\tfrac{a}{2}</math>. Die Breite dieses Teilastes ist also <math>6 \cdot \tfrac{a}{2} = 3 \cdot a</math> . Auch bei diesem Ast steht die Krone um den Faktor <math>\tfrac{5}{2} </math> über, also: <math>\tfrac{5}{2} \cdot \tfrac{a}{2} = \tfrac{5}{4} \cdot a </math>. Dieser dritte Teilast hat einen Abstand vom Rasen von <math>\tfrac{3}{2} \cdot a </math>. Die lichte Höhe ist dann die Differenz: <math>\tfrac{3}{2} \cdot a - \tfrac{5}{4} \cdot a = \tfrac{a}{4}</math>

Allgemeiner Pythagoras-Baum

Datei:Pythagoras Tree Colored.png
Allgemeiner Pythagoras-Baum

Beim allgemeinen Pythagoras-Baum werden jeweils beliebige, aber kongruente rechtwinklige Dreiecke auf die Quadrate gesetzt. Im Folgenden sei die Länge der Hypotenuse des ersten Quadrats des allgemeinen gleich <math>a</math>, die Längen der Katheten gleich <math>a_1</math> und <math>a_2</math> und die gegenüberliegenden Winkel gleich <math>\alpha</math>, <math>\alpha_1</math> und <math>\alpha_2</math>.

Flächeninhalt

Der Flächeninhalt der Quadrate, die bei jedem Iterationsschritt zum Pythagoras-Baum hinzugefügt werden, sind nach dem Satz des Pythagoras gleich groß. Der gesamte Flächeninhalt des Pythagoras-Baums inklusive der Überlappungen ist also unendlich groß. Die Breite und Höhe des Pythagoras-Baums sind endlich, weil sich der Abstand jedes Quadrats zum vorherigen Quadrat um einen konstanten Faktor verkleinert. Der überdeckte Flächeninhalt ohne Überlappungen ist also auch endlich.

Umfang

Ist <math>U</math> der Umfang des Pythagoras-Baums, <math>U_1</math> der Umfang des rechten Teilbaums und <math>U_2</math> der Umfang des linken Teilbaums – jeweils ohne die untere Seite des ersten Quadrats, dann gilt <math>U_1 + U_2 + 2 \cdot a = U</math>, weil sich der Umfang aus dem Umfang des rechten und linken Teilbaums und der Länge der rechten und linken Seite des ersten Quadrats zusammensetzt. Weil der Pythagoras-Baum ähnlich zum rechten und linken Teilbaum ist, gilt <math>U_1 = \tfrac{a_1 \cdot U}{a}</math> und <math>U_2 = \tfrac{a_2 \cdot U}{a}</math>. Daraus folgt <math>\tfrac{a_1 \cdot U}{a} + \tfrac{a_2 \cdot U}{a} + 2 \cdot a = U</math>, also <math>(a_1 + a_2) \cdot U + 2 \cdot a^2 = a \cdot U</math>. Wegen der Dreiecksungleichung <math>a_1 + a_2 > a</math> und <math>2 \cdot a^2 > 0</math> kann diese Gleichung für endliches <math>U</math> nicht gelten. Der Umfang des Pythagoras-Baums ist also unendlich.

Rechter und linker Ast

Die Ecken der Quadrate des rechten und des linken Astes liegen jeweils auf einer logarithmischen Spirale. Der Endpunkt des rechten Astes hat den Abstand <math>a</math> zum Rasen und den Abstand <math>\tfrac{a_1}{a_2} \cdot a = \tan(\alpha_1) \cdot a</math> zum Stamm. Der Endpunkt des linken Astes hat den Abstand <math>a</math> zum Rasen und den Abstand <math>\tfrac{a_2}{a_1} \cdot a = \tan(\alpha_2) \cdot a</math> zum Stamm.<ref>Larry Riddle, Agnes Scott College: Pythagorean Tree Spirals</ref>

Höhe, Breite und Abstand zum Rasen

Die folgende Tabelle zeigt die Höhe und Breite des Pythagoras-Baums und den Abstand der ersten Blätter des rechten und linken Teilbaums zum Rasen (siehe Abstand zum Rasen) für bestimmte Innenwinkel des rechtwinkligen Dreiecks:

Innenwinkel <math>\alpha_1</math> Höhe Breite Abstand des rechten Teilbaums Abstand des linken Teilbaums
45° <math>4 \cdot a</math> <math>6 \cdot a</math> <math>\frac{a}{4}</math> <math>\frac{a}{4}</math>
30° <math>\frac{17 + 3 \cdot \sqrt{3}}{5} \cdot a \approx 4{,}439 \cdot a</math> <math>\frac{81 + 108 \cdot \sqrt{3}}{40} \cdot a \approx 6{,}702 \cdot a</math> <math>\frac{28 - 3 \cdot \sqrt{3}}{40} \cdot a \approx 0{,}570 \cdot a</math> <math>-\frac{4 + 81 \cdot \sqrt{3}}{320} \cdot a \approx -0{,}451 \cdot a</math>
22,5° <math>\frac{140 + 67 \cdot \sqrt{2}}{47} \cdot a \approx 4{,}995 \cdot a</math> <math>\frac{1439 + 1065 \cdot \sqrt{2}}{376} \cdot a \approx 7{,}833 \cdot a</math> <math>\frac{32 \cdot \sqrt{2} - 11}{47} \cdot a \approx 0{,}729 \cdot a</math> <math>-\frac{181 + 2255 \cdot \sqrt{2}}{3008} \cdot a \approx -1{,}120 \cdot a</math>
15° <math>\frac{11511 + 4795 \cdot \sqrt{3}}{3201} \cdot a \approx 6{,}191 \cdot a</math> <math>\frac{1087035 + 587320 \cdot \sqrt{3}}{204864} \cdot a \approx 10{,}272 \cdot a</math> <math>\frac{45495 - 20506 \cdot \sqrt{3}}{12804} \cdot a \approx 0{,}779 \cdot a</math> <math>-\frac{9335814 + 12959845 \cdot \sqrt{3}}{13111296} \cdot a \approx -2{,}424 \cdot a</math>

Die Höhe und Breite ist desto größer, der Abstand des rechten Teilbaums desto größer und der Abstand des linken Teilbaums desto kleiner, je größer die Differenz der Innenwinkel <math>\alpha_1</math> und <math>\alpha_2</math> ist.

Geschichte

Der Pythagoras-Baum wurde zuerst von Albert E. Bosman (1891–1961) konstruiert, einem niederländischen Mathematiklehrer, im Jahre 1942.<ref>http://www.wisfaq.nl/show3archive.asp?id=32367&j=2005</ref><ref><templatestyles src="Webarchiv/styles.css" />{{#if:20090118100209

      | {{#ifeq: 20090118100209 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.arsetmathesis.nl/bruno0402.htm}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20090118100209}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.arsetmathesis.nl/bruno0402.htm}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20090118100209}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.arsetmathesis.nl/bruno0402.htm}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.arsetmathesis.nl/bruno0402.htm}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.arsetmathesis.nl/bruno0402.htm}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.arsetmathesis.nl/bruno0402.htm}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20090118100209|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.arsetmathesis.nl/bruno0402.htm}}
    || {{#if:  || }}
  }}{{#if: Archivierte Kopie
    | {{#if: {{#invoke:WLink|isBracketedLink|Archivierte Kopie}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.arsetmathesis.nl/bruno0402.htm%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.arsetmathesis.nl/bruno0402.htm%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.arsetmathesis.nl/bruno0402.htm }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref><ref><templatestyles src="Webarchiv/styles.css" />{{#if:20170101160242
      | {{#ifeq: 20170101160242 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.mathedidaktik.uni-koeln.de/fileadmin/matheseminarfiles/Formulare/material_matheturnier/Der_Baum_des_Pythagoras.pdf}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20170101160242}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.mathedidaktik.uni-koeln.de/fileadmin/matheseminarfiles/Formulare/material_matheturnier/Der_Baum_des_Pythagoras.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20170101160242}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.mathedidaktik.uni-koeln.de/fileadmin/matheseminarfiles/Formulare/material_matheturnier/Der_Baum_des_Pythagoras.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.mathedidaktik.uni-koeln.de/fileadmin/matheseminarfiles/Formulare/material_matheturnier/Der_Baum_des_Pythagoras.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.mathedidaktik.uni-koeln.de/fileadmin/matheseminarfiles/Formulare/material_matheturnier/Der_Baum_des_Pythagoras.pdf}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Archivierte Kopie | {{#invoke:WLink|getEscapedTitle|Archivierte Kopie}} | {{#invoke:Webarchiv|getdomain|http://www.mathedidaktik.uni-koeln.de/fileadmin/matheseminarfiles/Formulare/material_matheturnier/Der_Baum_des_Pythagoras.pdf}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20170101160242|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.mathedidaktik.uni-koeln.de/fileadmin/matheseminarfiles/Formulare/material_matheturnier/Der_Baum_des_Pythagoras.pdf}}
    || {{#if:  || }}
  }}{{#if: Archivierte Kopie
    | {{#if: {{#invoke:WLink|isBracketedLink|Archivierte Kopie}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.mathedidaktik.uni-koeln.de/fileadmin/matheseminarfiles/Formulare/material_matheturnier/Der_Baum_des_Pythagoras.pdf%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.mathedidaktik.uni-koeln.de/fileadmin/matheseminarfiles/Formulare/material_matheturnier/Der_Baum_des_Pythagoras.pdf%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.mathedidaktik.uni-koeln.de/fileadmin/matheseminarfiles/Formulare/material_matheturnier/Der_Baum_des_Pythagoras.pdf }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref>

Weitere Formen

Da so ein Baum, der streng nach dem Satz des Pythagoras erzeugt wurde, sehr unnatürlich aussieht, kann natürlich auch von der Urform abgewichen werden.

Datei:Pythagoras tree.png


Pythagoras-Baum:
  • Rechtwinklige, gleichschenklige Dreiecke
  • Verschiedene Farben
Datei:Fraktaler Baum.png

Fraktal-Baum:
  • Freier Winkel
  • Keine Quadrate
Datei:Pythagoras baum color.png


Pythagoras-Baum:
  • Rechtwinklige Dreiecke
  • Verschiedene Farben
Datei:Pythagoras baum nicht rechtwinklig.png

Pythagoras-Baum:
  • Keine rechtwinkligen Dreiecke
  • Verschiedene Farben
Datei:Pythagoras baum color random.png

Pythagoras-Baum:
  • Zufällige Stammlängen und zufällige Stammteilungsverhältnisse
  • Rechtwinklige Dreiecke
  • Verschiedene Farben
Datei:Pythagoras baum color gleichschenklig.png

Pythagoras-Baum:
  • Gleichschenklige Dreiecke
  • Rechtwinklige Dreiecke
  • Verschiedene Farben
Datei:Pythagoras baum Filled.png

Pythagoras-Baum
Datei:SWPythaTree.png

SW Pythagoras-Baum

Programmierung

Der Pythagoras-Baum lässt sich rekursiv auf einfache Weise implementieren. Das folgende Beispiel zeigt eine Implementierung in der Programmiersprache C#.<ref>Rosetta Code: Pythagoras tree</ref><syntaxhighlight lang="c#"> using System.Windows.Forms;

public class MainForm : System.Windows.Forms.Form { private Graphics graphics;

public MainForm() { InitializeComponent(); Text = "Pythagoras-Baum"; Width = 800; Height = 600; graphics = CreateGraphics(); // Erzeugt ein Grafikobjekt für das Zeichnen auf dem Hauptfenster. Paint += OnPaint; // Verknüpft die Ereignisbehandlungsmethode mit dem Paint Ereignis des Hauptfensters. }

private void OnPaint(object sender, PaintEventArgs e) { float q = (float) Math.Tan(Math.PI / 3); float minimaleLänge = (float) 0.1; Color farbe = Color.FromArgb(255, 0, 0); ZeichnePythagorasBaum(350, 400, 400, 400, q, minimaleLänge, farbe); // Aufruf der Methode mit minimaler Länge 0.1 }

// Diese Methode wird aufgerufen, wenn das Hauptfenster gezeichnet wird. Sie enthält 2 rekursive Aufrufe. private void ZeichnePythagorasBaum(float x1, float y1, float x2, float y2, float q, float minimaleLänge, Color farbe) { // Wenn maximale Rekursionstiefe erreicht, dann Koordinaten setzen und gleichseitiges Dreiecks ausfüllen float x = x1 - x2; float y = y1 - y2; if (x * x + y * y >= minimaleLänge * minimaleLänge) // Wenn Seitenlänge größer oder gleich minimale Länge, dann Quadrat und rechtwinkliges Dreieck ausfüllen { float a = q * q; float b = q * q + 1; float c = q * q + q + 1; float x3 = x2 - y1 + y2; // 3. Ecke des Quadrats, 1. Ecke des Dreiecks float y3 = x1 - x2 + y2; float x4 = x1 - y1 + y2; // 4. Ecke des Quadrats, 2. Ecke des Dreiecks float y4 = x1 - x2 + y1; float x5 = (a * x1 + x2 - c * (y1 - y2)) / b; // 3. Ecke des Dreiecks float y5 = (c * (x1 - x2) + a * y1 + y2) / b; // Definiert Farben mit RGB-Werten. Color rot = Color.FromArgb(255, 0, 0), grün = Color.FromArgb(0, 255, 0), blau = Color.FromArgb(0, 0, 255); // Quadrat und rechtwinkliges Dreieck ausfüllen PointF[] quadrat = new PointF[]{new PointF(x1, y1), new PointF(x2, y2), new PointF(x3, y3), new PointF(x4, y4)}; graphics.FillPolygon(new SolidBrush(farbe), quadrat); PointF[] dreieck = new PointF[]{new PointF(x4, y4), new PointF(x3, y3), new PointF(x5, y5)}; graphics.FillPolygon(new SolidBrush(grün), dreieck); // Rekursive Aufrufe der Methode für den linken und rechten Teilbaum. ZeichnePythagorasBaum(x4, y4, x5, y5, q, minimaleLänge, rot); ZeichnePythagorasBaum(x5, y5, x3, y3, q, minimaleLänge, blau); } } } </syntaxhighlight>

Siehe auch

Weblinks

[{{canonicalurl:Commons:{{#if:Pythagoras tree|Pythagoras tree|{{#invoke:WLink|getArticleBase}}}}|uselang=de}} Commons: {{#if:Pythagoras-Baum|Pythagoras-Baum|{{#if:Pythagoras tree|Pythagoras tree|{{#invoke:WLink|getArticleBase}}}}}}]{{#switch:1

|0|-= |X|x= |1|=  – {{#ifeq:0|14|Sammlung von|Album mit}} Bildern{{#if:

    | {{#switch: {{#invoke:TemplUtl|faculty|{{#if:|{{{video}}}|1}}}}/{{#invoke:TemplUtl|faculty|{{#if:|{{{audio}}}|1}}}}
        |1/=  und Videos
        |1/1=, Videos und Audiodateien
        |/1=  und Audiodateien}}
    | , Videos und Audiodateien
  }}

|#default=  – {{{suffix}}} }}{{#invoke:TemplatePar|check

  |opt= 1= 2= suffix= audio= video=
  |template=Vorlage:Commons
  |cat=Wikipedia:Vorlagenfehler/Schwesterprojekt
}}

Einzelnachweise

<references />