Python
Swift
Metal
Date: Spring 2022/Winter 2022
Information:
Description
- Fractals:
- Mandelbrot set (Python)
- Fractal trees (Swift, later Metal)
- Simple fractals (Swift)
- Lyapunov fractal (https://www.youtube.com/watch?v=yGwy2WyQCQE&t=1297s) (Swift)
- L-Systems (Swift)
- Simualtions:
- Flocking (https://www.youtube.com/watch?v=mhjuuHl6qHM&t=130s) (Swift)
- Agents (https://www.youtube.com/watch?v=X-iSQQgOd1A&t=954s) (Metal)
- Lenia (cellular automata) (Python, later Metal)
- Visualizations:
- Bezier-Curves (Swift)
- Collatz-Conjecture (Swift)
- Fibonacci-Sphere (Metal)
- Heart of Maths (Metal)
- Ray Casting (Swift)
- Ray Marching (Swift, Implementation in Metal)
Reason for development
After I saw the first video about the Mandelbrot Set I was fascinated by fractals and after a short time I discovered the beauty of Math and how from simple rules a complex outcome can be produced.I also saw many interesting YouTube videos on creative programming and wanted to code them by myself. I have been highly inspired by among others Daniel Schiffman’s Coding Train (https://www.youtube.com/@TheCodingTrain/featured ), Numberphile (https://www.youtube.com/@numberphile) or Sebastian Lague (https://www.youtube.com/@SebastianLague)
What I learned
- Basic Metal/Shader knowledge:
-
- Render/Compute Pipelines
- Buffers
- Fragment/Vertex Shaders
- Kernel computing
- 2D Convolutions (Lenia)
- Fractal Geometry
- 3D Rendering (Ray Casting, Ray Marching)
- Functioning of Bezier curves
- Flocking behavior
Resources
2. Simulations

Play Video
Flock Simulation

Play Video
Agent Simulation

Play Video