blog Music photos about
phidelity.com
music player email email me

Pythagoras Tree

So it all started with a challenge that was posted on the Xenodream pix list to work with the Pythagorean Tree. As illustrated below, The Pythagoras tree is a plane fractal constructed from squares. It is named after Pythagoras because each triple of touching squares encloses a right triangle, in a configuration traditionally used to depict the Pythagorean theorem. Garth, the creator of Xenodream had posted the initial .xep file with the simple repeating squares. From the left each image is an iteration of this function growing exponentially more complex. The top is a 45,45,90 triangle and the bottom is a 30, 60, 90 triangle resulting in a lopsided tree.

Pythagorean Tree

Since squares are 2 dimensional I decided to add a third dimension by making the squares into cubes and exploring the geometry in 3 dimensional space. The tree itself was interesting but since I’m reading Samuel Colmans “Harmonic Proportion and Form” I decided to test some of the ideas he’s pushing in the book; I decided to play with angles derived from the geometries of platonic solids and lo and behold I got a Dragon Curve. The cubes were rendered 95% transparent so you can see the geometry inside of it.
Pythagoras Fractal

(above) Pythagoras Dragon Curve .xep
(below) Same image with outlines instead of cubes and not viewed from an angle. .xep

Pythagoras Dragon Curve

 

I continued to play with the angles of rotation I found an interesting setting: if you rotate the left square 135 degrees and the right 225 degrees you end up with perfectly nestled fractal geometry of the Pythagorean Triangle, which ends up extending and filling a space proportionate to the original triangle. The squares themselves are subdivided by four of the triangles illustrating their geometric relation. I suspect the white lines are due to the manner we are drawing lines in Xenodream and that perhaps the geometry would fit together perfectly if I were to model it more precisely, which I will probably do with Processing at some later date. Click the image to explore the 4000+ pixel render of this image!

Pythagoras Triangle Fractal Geometry

Pythagoras Triangle Fractal (above) and close up of detail (below) .xep

 

Below are a few other images I made playing around with this shape

geomeTree

Below is a side by side comparison of the by now familiar tree and below that the same geometry with a little variation; instead of a square I created a shape that was very very vaguely trunk like. I apologise for the mid ’90s 3D quality of this image I wasn’t setting out to create a realistic tree, Just to see how convincing the branching patterns were. And for the little amount of work that went into it I’m impressed.

very 90’s looking 3D tree .xep

While researching for this article I found an artist named Koos Verhoeff who has made a bronze sculpture using this base geometry.

Bronze Sculpture of pythagoras Tree

All the xep files which are for Xenodream are released under a WTFPL public license and you can do whatever you want with them.
That’s it for now! If you’ve made it to the bottom of this page you have a special sort of geekiness that would probably enjoy my RSS feed of random nerdy and geeky things like this. Look near the top right

This article was posted on Wednesday, January 9th, 2008 at 6:35 pm in the category: Fractal.

12 Responses to “Pythagoras Tree”

  1. tony - Says:

    I like how you explain the history – fractals always have a story but im usually to lazy to read it – NOW PUT IT IN PROCESSING WITH MIDITRIGGERS! – bwahahah

  2. A2 Says:

    its fascinating to understand and explore the mathematical basis of art, music, computers, hallucination and nature.

  3. Moroccan Design Says:

    [...] Pythagorean & Fractal Geometric Art [...]

  4. Exploring Sierpinski's Triangle and Sacred Geometry | Phidelity Blog Says:

    [...] Or the article I wrote about Pythagoras Tree [...]

  5. createmo Says:

    Thank you for your website ;)
    I made on photoshop backgrounds for myspace or youtube and ect..
    my backgrounds:http://tinyurl.com/5assk2
    take care and thank you again!

  6. fateme kazemi Says:

    your explain helped me to write my article. thank you

  7. Mark Pauley Says:

    Super cool article! You totally reminded me of L-grammars (a declarative string set technique) that can be used to generate stuff. I am pretty that the set of all IFS fractals is either equivalent to or is a subset of the set of all L-grammars. Your pythagoras fractal could be described as:

    S-> S, rotate_scale_translate(k, x, S), rotate_scale_translate(90 – k, y, S)

    where rotate_scale( angle, scale_val, non_terminal) would kick off a new iteration of the fractal, say by appending some parameters for the affine transform to apply in the IFS.

    The neat thing about this is that you can create alternating fractals like:

    S-> Q, rotate_scale_translate(k, x, Q), rotate_scale_translate(90 – k, y, Q)
    Q-> S, rotate_scale_translate(90 – k, x, S), rotate_scale_translate( k, y, S)

    then you’ll have a fractal that kinks back and forth.

    <3

  8. makc Says:

    Your experiment was part of inspiration for mine, http://makc3d.wordpress.com/2009/03/27/3d-pythagoras-tree/

    I thought, since we are in 3D, why not also use three-dimensional basis too? And the result is quite different from 2D-based version (mostly due to twisting).

  9. Karen Says:

    ahahah… I feel like such a geek, but you’ve got a pretty cool website here. You really saved me on a project im doing, so thankyou ever so much!!

  10. amanda Says:

    it’s beautifull, and touching the possabillities.
    You can make such a dragon with paper:
    take a thin kind of paper and cut a long strip (1/2inch x 2 foot) fold it as many times as you can as long as the folds stay sharp(5 times). Unfold every fold not entirely but only 90ยบ. You get a little dragon. When you do the same with a second strip, that one should fit in snuggly with the first and making the dragon twice as big(one beginning touches the others beginning). this can be repeated endlessly, showing the same picture as the pythagoras dragon curve(above)
    Can you make a 3D glas-tree or a pyth-tree of air in a bowl of water? Greeting A.

  11. kairi yukimora Says:

    nice pics! it looks good

  12. kairi yukimora Says:

    love this stuff!

Leave a Reply