Nvidia GeForce 4090, Butterfly Effect - Chaos Theory, Strange Attractor
2024-11-10. The butterfly effect is the concept that small changes in initial conditions can lead to vastly unpredictable variations in future outcomes. Its origins are from chaos theory. While a system may be deterministic, you cannot predict the outcome. The name arrives from the idea that a butterfly’s wings flapping in one part of the world could set off a chain of events leading to a tornado in another. This emphasizes the sensitivity of initial conditions, where minor inputs can create significant, cascading effects over time.
BUTTERFLY vs ASTEROID
I've never liked the butterfly wing example, since I feel it's intuitive that the few air molecules that are impacted are silenced so quickly. You have to stretch the imagination that some few molecules happen to be at the breaking limit of impact several times over. I believe a better example is that of an asteroid. If an asteroid misses Earth, we are fine. If it hits Earth, civilization could end. The required force to deflect this asteroid diminishes the further away it is -- since a small change in trajectory today becomes a larger and larger distance over time. You could imagine the asteroid is so far away that perhaps a single molecule bumping it is just enough to miss Earth a million years later.
STRANGE ATTRACTOR
Lorenz Strange Attractor is a weather pattern model of 3 differential equations. While it represents a 2D slice of the weather, since we are tracking 3 variables, we can draw the results in 3D space.
𝑥 – convective motion / rate of flow.
𝑦 – temperature difference horizontally.
𝑧 – vertical temperature variation.
The system modeled is based on these three parameters:
σ (sigma): Prandtl number, relates to fluid’s viscosity.
ρ (rho): Rayleigh number, drives the convective motion.
β (beta): Geometric factor related to physical properties.
INITIAL CONDITIONS
ρ = 28, σ = 10, β = 8/3.
x = 0.1
y = 0,
z = -0.025 .. +0.025 -- evenly spaced for all 12 particles.
The variance is in the z value only, with a total variance between both extremes of 0.05. This may seem like a lot -- it is only 50% of the size of the starting value of x. However, as you can see in the animation, the camera must zoom out a lot to have a view of the entire attractor. Its size:
x: approx -20 to 20
y: approx -30 to 30
z: approx 0 to 50
COLOR
There are 12 particles. Each colored evenly spaced around the hue of color wheel: all 3 primary and all 3 secondary colors, along with 6 colors in-between them.
RENDERING
Each particle has its own vertex buffer. Vertex shaders color them differently -- from the fully saturated colors, then fading to monochromatic, then fading to black. They are rendered as lines, single pixels thick. Post-processing in the pixel shader enlarges them. Z-buffer is not taken into account during post-processing, so it may appear at times that a distant line is overwhelming a near line.
ARTIFACTS
The oddity in coloring is not video compression artifacts. It's from the post processor not using z-buffer, and enlarging background lines to have a "voice". Also, there's a bug, noticeable as flicker in the circle close-up: while I do render all vertices, they are lines; two adjacent vertex lists have no joining line!
CAMERA CONTROL
Real-time capture of me manually controlling a 6 DOF camera with an Xbox controller. There are several aids to make this controllable. Thumbstick massaging slows sensitive input corrections. Half-life deterioration helps keep momentum. Acceleration limits removes "jerk" (sudden acceleration changes). It is still very hard to control accurately in this case -- to show close-up views of the nearby particles, then zoom out to show the whole fractal. I find there is a charm with the motion being real-time controlled.
PLAYLISTS
Xona System 8: • Game Dev Engine #1. A New Beginning.
Voxel: • Voxel Engine #8 - Correct Peripheral ...
Ray Cast: • 3D Ray Casting Engine: #4 (Global Gam...
Graph-All: • #1 Graph-All Equation Renderer - Mult...
Scroll Shmup: • The First Pixel: Devlog #9 - Enemies,...
Road: • Pseudo 3D Road #8 - infinite vegetati...
Arena Shmup: • Arena Shmup Demo #3 - Object Pool Opt...
Wave Function: • A.I. Texture Generation, High Res (Wa...
3D Polygon: • 3D Polygon Engine #9 - Multiple Mater...
GW-BASIC: • GW-BASIC - Escape From Monster Cavern...
WEBSITES
GitHub: htthttps://github.com/JDoucetteog: htthttp://thefirstpixel.com/udio: htthttp://xona.com/UDIO
BTS Prolog by Kevin MacLeod
Licensed under Creative Commons Attribution 4.0.
htthttps://creativecommons.org/licenses/by/4.0/