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.

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.

(above) Pythagoras Dragon Curve .xep
(below) Same image with outlines instead of cubes and not viewed from an angle. .xep
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 (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.

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
« Fractal Overdose phidelity dj mix – writhing sea of moonlit tentacles »







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
its fascinating to understand and explore the mathematical basis of art, music, computers, hallucination and nature.
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!
your explain helped me to write my article. thank you
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
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).
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!!
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.
nice pics! it looks good
love this stuff!
Thank you for taking the time and sharing this information with us.
It was indeed very helpful and insightful while
being straight forward to the point.
Mind=Blown
Hi,
I love your deigns very much. I came here looking for an image related to mathematics, and really liked the dragon curve. I’m using it on my Facebook profile, if you don’t mind.