A set of experiments and explorations, mostly using the regl WebGL library, some computed on the GPU and some on the CPU. The source for all content and projects on this site can be found here.

Comments? Questions? Let me know

KuramotoThe Kuramoto model for a system of spatially coupled oscillatorsCausticsChannelling the feeling of sitting next to a poolJoukowsky AirfoilA Joukowsky airfoil, visualized with Line Integral ConvolutionQuasiinfinite zoomRepeated quasirandom points to create the illusion of infinite zoomCubic Roots ↔︎ Equilateral TriangleAn interactive reproduction of a diagram by Freya HolmérCalabi-Yau ManifoldsA simple plot of Calabi-Yau manifolds; nothing more, nothing lessLawson's Klein Bottle3D sterographic projection of a 4D Klein bottleBoy's SurfaceAn immersion of the real projective plane in 3D spaceClifford Torus3D sterographic projection of a 4D Clifford torusK-MeansLive k-means on a video feed with Lloyd's algorithmMoiréJust moiréIkeda MapA discrete chaotic attractorHertzsprung-Russell DiagramStar magnitudes and temperaturesMandelbrotDrawing the first iterations of the Mandelbrot set as a complex functionPulsarSignals and noise (no physical significance)Multiscale Turing PatternsMultiscale turing patterns, as described by Jonathan McCabeSolenoidJust a solenoidal fieldPotential FlowProcedural (almost) potential flow with curl noiseUeda AttractorUeda's chaotic nonlinear oscillatorSingle-slit diffractionDiffraction of a 1D wavefunction through a slit using Feynman's path integral approachFibonacci SphereFrom Martin Roberts' article about evenly distributed points on a sphereGray Scott Reaction DiffusionReacting species diffusing at different ratesRule 30Stephen Wolfram's 1D cellular automataLine Integral ConvolutionVisualizing vector fields with Line Integral Convolution (LIC)Rigid Point Cloud AlignmentAligning point clouds with the Iterative Closest Point methodSpherical HarmonicsJust a plot of the first few spherical harmonicsDomain Coloring with Contour ScalingUsing OES_standard_derivatives to scale contours to the local gradient of a functionFlamm's ParaboloidScroll to build Flamm's ParaboloidContinuum GravityOne million particles interacting gravitationally via a Poisson equation solved on a 2D gridKuramoto-SivashinskyIntegrating the 2D Kuramoto-Sivashinsky Equation, ∂u/∂t + ∇⁴u + ∇²u + ½ |∇u|² = 0Karman-Trefftz AirfoilFlow over an airfoil, computed with the Karman-Trefftz conformal map and visualized on the GPUPeriodic Three-Body OrbitsPeriodic solutions of three bodies interacting via Newtonian gravityHydrodynamic InstabilitiesThe Kelvin-Helmholtz and Rayleigh-Taylor hydrodynamic instabilitiesStrange AttractorsStrange attractors on the GPUSchwarzschild TrajectoriesIntegrating particle geodesics in Schwarzschild spacetime (a black hole).Polynomial RootsRoots of a polynomial with random coefficients, plotted in the complex planeUmbilic TorusUmbilic TorusLamb Wave Dispersion RelationPlotting the the complex dispersion relation for elastodynamic plate waves; zeros represent valid modesFluid SimluationClassic semi-Lagrangian fluid simulation from Visual Simulation of SmokeErosionAn ad-hoc particle-based terrain erosion algorithm, computed on the GPUCentripetal B-SplinesExperimenting with centripetal parameterization for B-splinesSmooth LifeConway's Game of Life, generalized to a continuum and solved on the GPULogistic MapThe chaotic logistic map, computed and displayed on the GPUNosé-Hoover AttractorPlotting a strange attractor with 2D rectanglesVortexA vortex, rendered as a single signed distance functionK-means clusteringWIP refactoring of the kmpp npm moduleDouble PendulumAccumulating long-term patterns in a chaotic double-pendulum