Mathematical visualization / C++ / Direct3D

Fractal Generator

Historical project

I built a C++ fractal viewer to see what happens when you repeat a simple rule thousands of times. It grew from one window into a workbench for complex-plane iteration, midpoint displacement, L-systems, and feedback rendering.

View archived source on GitHub ↗
Copper spirals branch into smaller spirals against a deep teal field
Cover illustration inspired by complex-plane fractals.

Drawing with feedback

Chaos and Fractals: New Frontiers of Science by Heinz-Otto Peitgen, Hartmut Jürgens, and Dietmar Saupe inspired several of these experiments. In the multiple reduction copy machine, I used Direct3D textures to make smaller, transformed copies of an image and fed the result back in for the next pass.

A solid triangle, three half-size copies, and a Sierpiński gasket after four passes
Illustration of the gasket preset’s copy rule, from a single triangle through one and four iterations.

Rendering on worker threads

I divided the complex-plane image into tiles that worker threads could calculate independently. I left midpoint displacement on one worker while experimenting with how to split the recursion, where each new segment depends on the endpoints set by its parent.

Other experiments

I tried grammar-driven drawings with L-systems and wrote a pixel shader that explores the logistic map’s period-doubling behavior.

← All projects