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
1. Fractals
Play Video
L-System
2. Simulations
Play Video
Flock Simulation
Play Video
Agent Simulation
Play Video
Lenia
3. Visualizations
Play Video
Bezier Curves
Play Video
Fibonacci Sphere
Play Video
Heart Of Maths (animation)
Play Video
Ray Casting
Play Video