Course Material
Maple Worksheets
Chapter 3 - grammar-based description:
- Plotter grammar for Hilbert-curve iterations: hilbert-iter-plotter.mw
- Turtle grammars for Hilbert-curve iterations: hilbert-iter-turtle1.mw, hilbert-iter-turtle2.mw, hilbert-iter-turtle3.mw
- Plotter grammar for Peano-curve (and Peano-Meander-curve) iterations: peano-iter-plotter.mw
Chapter 4 - arithmetic representation of space-filling curves:
- Arithmetisation of the Hilbert curve (incl. Moore's variant, Ex. 4.4): hilbert-arith.mw
- Computing the inverse of the Hilbert mapping (Sec. 4.4): hilbert-arith-part.mw (incl. a partitioning example)
- Arithmetisation of the Peano curve (Sec. 4.5): peano-arith.mw (classical variant), peano_half_coil-arith.mw ("half-coil" variant), peano_meurthe-arith.mw ("Meurthe order" variant).
- Arithmetisation of the Peano-Meander curve: peano_meander-arith.mw
Chapter 5 - approximating polygons and fractals:
- Turtle grammars for Koch curves: koch-turtle.mw
- Turtle grammars for Koch "dragon" curves (Ex. 5.7) and for the Koch-Cesaro curve (Ex. 5.3): koch-dragon-turtle.mw
Chapter 6 - Sierpinski curve:
- Arithmetisation of the Sierpinski curve: sierpinski-arith.mw
- Fast table-based computation of the Sierpinski mapping: sierpinski-arith-tables.mw
- A generalised Sierpinski curve filling a circle (using a vertex-labeling algorithm): sierp-circle-vertexlab.mw
Chapter 7 - further space-filling curves:
- plotter grammar for the H-index: Hindex-iter-plotter.mw
- arithmetisation of the beta-omega curve: betaOmega-arith.mw
- turtle graphics for the beta-omega curve: betaOmega-iter-turtle.mw
- turtle graphics for the Gosper curve (iterations and approximating polygons): gosper-turtle.mw
Chapter 8 - 3D space-filling curves:
- 3D Hilbert curves:
- hilbert_3D_Fig82_sagan.mw (3D Hilbert curve by Sagan, Fig. 8.2)
- hilbert_3D_Fig83.mw (3D Hilbert curve, Fig. 8.3)
- hilbert_3D_Fig84_bially.mw (3D Hilbert curve by Bially, Fig. 8.4)
- hilbert_3D_Fig86r.mw (3D Hilbert curve, Fig. 8.6, right plot)
- vertex-labeling algorithm for a 3D Sierpinski curve: sierp3d-vertexlab.mw
Chapter 9 - space-filling curves and spacetrees:
- adaptive Hilbert traversal of a bitstream-encoded quadtree:
- reftree_hilbert_vertexlab.mw (using a vertex-labeling algorithm for the Hilbert curve; includes partitioning of the quadtree)
- hilbert-adap-plotter.mw (using the context-free grammer introduced in Sec. 9.2)
- adaptive Peano traveral of a 3D spacetree: spacetree_peano3D.mw (using a vertex-labeling algorithm for the 3D Peano curve)
Chapter 10 - parallelisation with space-filling curves:
- depth-first traveral of a spacetree in adaptive Peano order: spacetree_peano_modDFT.mw (using a vertex-labeling algorithm for the Peano curve)
Further Solutions to Exercises:
- vertex-labelling algorithm to compute the Hilbert mapping hilbert_map_vertexlab.mw (cmp. Ex. 6.5 and Algorithm 6.2)