💡 Motivation
I'm sure most of us entertained the thought of magic powers at some point. For me, I'm content living out these fantasies
watching movies with magic-wielding protagonists saving the world.
Yet as I grew older, I started to ponder: how were these VFX created, these bright bursts and glittering ribbons of color?
This led me straight down the rabbit hole and into a wonderland of fractals.
Role
Independent Researcher
Timeline
Winter 2021 - Spring 2022
Tools
Javascript
Java / Processing
Rust
🔍 Methodology
I employed an
interative fractal system, tracing the paths of "magic" particles and collecting the light samples into the final render.
I also investigated the cause of singularities in my system and removed them to the best of my abilities.
Initially, I used Javascript/Java for my prototypes but soon discovered the performance wasn't enough for 4K resolution. This started my
first dabblings in
learning Rust and multithreading my programs—over a 100x speed-up made the effort worth the while.
For the (lower resolution) browser port of my fractal generator, I compressed the fractal parameters into "keys" users can share.
Take a look at what
c1b46ac2b52ac2b66ac2b25ac1b25a2b89a0b87a1b41a1b16a1a0b47ac0b31 looks like
here
(bottom left, you may need to scroll down).
🌌 Retrospective
In this project, I learned to adapt and learn new tools quickly when the situation calls for it. I also learned that
wise design choices in the beginning (i.e. making the particle tracing code a pure function) leads to saving big later
in a large research project (i.e. multithreading is now trivial because there's no state mutation!). Overall,
I'm very happy with the visuals my fractal system is able to render as well as how performant it runs!
When I revisit this project, I have the following plans:
A) bring the fractal system to 3D space, B) have custom anchors so irregular shapes are possible, and C) use raytracing
to add PBR light effects like depth-of-field and bloom.
I wonder if there's more to explore with the custom "keys" users can create and share with others.
I imagine with some hashing magic and public/private keys, users can effectively "own" a fractal.
Sounds like a promising place to investigate HCI interactions in digital property and non-fungibles...