Simulaties

Een van mijn favoriete hobbies is het schrijven van simulaties.

Illumina

Een simpele raytracer (simuleert licht). Je kan met de camera rondvliegen door een 3d-wereld met reflecties en refracties. Aberraties worden niet gesimuleerd omdat het simulatiemodel geen rekening houdt met quantumeffecten en alle kleuren ziet als dezelfde golflengte. Caustics (focale manifolds) worden ook niet gesimuleerd, maar wel geëmuleerd.

[gitlab.com] Zie Illumina source code

Deeltjes

Simuleer deeltjes

Een deeltjessimulatie. Je kan hiermee zwaartekrachtstelsels, longitudinale golven, en simpele botsingen simuleren. De simulatie is niet stabiel zonder luchtweerstand en blaast soms op of sterft juist uit aan het eind, dit is te zien aan het feit dat de kinetische energie langzamerhand oploopt of afloopt. Eerst worden de krachten berekend en omgezet naar versnelling, dan wordt versnelling geïntegreerd naar snelheid, snelheid naar positie.

Golven

Simuleer vloeistof

Een SPH-vloeistofsimulatie (implementatie van Müllers Smoothed Particle Hydrodynamics). Je kan het water wegdrukken met je cursor. Door te klikken trek je het naar de cursor toe. Deze simulatie is wel stabiel, maar waarborgt geen incompressibiliteit. Wanneer 2 deeltjes dezelfde locatie innemen, wat soms gebeurt bij het neerslaan van grote golven, wordt een van de twee deeltjes boven in het midden gezet. Hoe langer een deeltje geen of heel weinig druk ervaart, hoe witter hij uitslaat.