Various properties of finite iterations of the Heighway/Harter dragon curve and twindragon curve, including boundary, area, convex hull, minimum rectangle, XY convex hull, centroid, inertia, complex base i±1, area tree, and some fractionals.
Read draft 15,
dragon.pdf
(about 2646k, 297 pages)
dragon-15.tar.gz
(about 1972k, and
sig)
Also by plain HTTP or by FTP or by RSYNC if desired. The sig file is a Gnu PG ascii armoured signature generated from my key.
"Draft" here means believed correct as far as it goes but with some more to be added. The quality varies in places, and it's becoming quite long, but there's plenty of pictures to look at. The LaTeX source uses PGF for pictures.
Document copyright 2014, 2015, 2016, 2017 Kevin Ryde. Permission is granted for anyone to make a copy for the purpose of reading it. The PDF rendition contains fonts which are Copyright American Mathematical Society and licensed under the open font license.
The source .tar.gz
includes various generator and development
programs which are all
GPLv3 up. They're
mostly Perl and a bit rough. Modules used variously include
FLAT
,
Graph
, and
Math::Geometry::Planar
(some debs in my repo). The document has
self-tests with Pari/GP and
gp-inline
. GP
functions are extracted to a devel/dragon-defines.gp
which is
highly specific to the document but might be of interest for experimenting.
(Needs GP 2.9 up for various things.) Some C code using the
Nauty library makes dragon curve
graphs and trees for experimenting.
See Math::PlanePath::DragonCurve for some Perl code implementing curve coordinate calculations. The corresponding DragonCurve section of the PlanePath image gallery has some pictures.
See
Graph::Maker::TwindragonAreaTree
for Perl code creating the area tree in Graph.pm
(or similar).
Other pictures:
twindragon-area-tree-10.pdf
(about 18.9k)
—
twindragon level 10 area tree
twindragon-area-tree-10-line.png
(about 1.6k)
—
twindragon level 10 area tree flattened to a line
Here are some dragon curve drawing programs by me and variously posted on Rosetta Code. The algorithms vary with the strengths of each language. (Between 2 and 6 kbytes each, all free software GPLv3 up.)
dragon.el
— Emacs Lisp picture-mode
ascii art
dragon.gnuplot
— Gnuplot graph of coordinate function
dragon.gp
— Pari/GP plot (its low-level drawing)
dragon-unfold.gp
— Pari/GP plot of unfolded points
dragon.gri
— Gri drawing, recursive
dragon-iterative.gri
— Gri drawing, iterative
dragon.logo
— UCB Logo turtle turns
dragon.m4
— M4 by predicate making ascii art
dragon-pgf-direction.tex
— LaTeX with PGF and tikzmath
directions
dragon-pgf-latex.tex
— LaTeX with PGF lindenmayersystems
library
dragon-pgf-plain.tex
— plain TeX with PGF lindenmayersystems
library
dragon.scad
— OpenSCAD 3-D
dragon-matrix.scad
— OpenSCAD variation using transformation matrices
This page Copyright 2014, 2015, 2016, 2017, 2018 Kevin Ryde.