RSSAmplifier

Blog

Ricky Reusser's Notebooks

Interactive notebooks on graphics, math, and creative coding

rreusser.github.ioRSS feed ↗50 posts

Latest posts

Intentional Anonymity

Thoughts on anonymity, accidental and otherwise

Time Until Totality

A world map colored by how long until each location next sees totality

SmoothLife

Conway's Game of Life generalized to a continuous domain, computed in WebGPU

An Elastic Möbius Strip

Möbius strips as a test problem for doing some real linear algebra in the browser

Zooming Aperiodic Monotile

A (sort of) infinite zooming spectre aperiodic monotile

Rendering the Aperiodic Monotile

Rendering the spectre a chiral aperiodic monotile of Smith, Myers, Kaplan, and Goodman-Strauss

Line-Sweep Terrain Lighting

Terrain shadowing and ambient occlusion for web maps using fast horizon visibility

Costa's Minimal Surface

Trying to untangle the parameterization of Costa's minimal surface

Rewriting My Website in Observable Notebook Kit

How I migrated this website from Idyll to Observable Notebook Kit

Boy's Surface

Boy's surface, an immersion of the real projective plane in three-dimensional Euclidean space

Denali Terrain

Cobbling together a 3D WebGPU terrain viewer

Visualizing Sloan Digital Sky Survey Data

Visualizing 3.3 million galaxies and quasars from the Sloan Digital Sky Survey

Hess-Smith Panel Method

Using the Hess-Smith panel method to compute the aerodynamic flow around an airfoil

Multi-Scale Turing Patterns in WebGPU

Interactive multi-scale Turing patterns in WebGPU

Strange Attractors in WebGPU

Integrating and rendering strange attractors in WebGPU from start to finish

WebGPU Instanced Lines

GPU-accelerated line rendering for WebGPU

Zoomable Multi-Layer Plots in Notebook Kit

Interactive mathematical plotting in Observable Notebook Kit

Simulating the 2D Kuramoto-Sivashinsky Equation in WebGPU

The 2D Kuramoto-Sivashinsky equation, a chaotic PDE modeling pattern formation in combustion fronts and thin films

Perfectly Matched Layers for the Wave Equation

An quick application of Perfectly Matched Layers for absorbing boundary conditions

Reflecting on Two Years of Yoga

Contemplating where we're at after attending yoga pretty consistently for a couple years

Hello, Observable Notebooks 2.0!

Kicking the tires of Observable's new notebook tooling!

Clifford and de Jong Attractors

Clifford and de Jong strange attractors

Chaotic Magnetic Pendulum

Interactive visualization of a magnetic pendulum demonstrating chaotic dynamics

Spring Training on the Treadmill

Quantifying treadmill efforts (to the point of injury)

Speed Climbing World Record Progression

Plotting and extrapolating trends in competitive speed climbing

Sliced Optimal Transport

Approximate pixel redistribution between images using sliced optimal transport

Series Acceleration with Shanks Transformation

The Shanks transformation for series acceleration, applied to the arctangent formula for π

Cubic basis vs. Hermite interpolation

Comparing cubic interpolation using different basis functions

Bicubic Texture Interpolation using Linear Filtering

Smooth bicubic texture filtering using the GPU's built-in bilinear interpolation

Knocking Down the Gates with our Friend Jacobi

Using Jacobi elliptic functions to solve an optimization problem about falling poles and large-amplitude pendulum dynamics

Night and Day

Earth's solar terminator on a Mapbox map using NASA Black Marble imagery and WebGL shaders

Fast Generalized Winding Numbers in 2D

Fast generalized winding numbers in 2D for robust inside-outside queries on arbitrary polygons

HTML+CSS Periodic Three-Body Orbits

Animating periodic three-body orbits using pure CSS keyframe animations generated from Fourier decomposition

Lawson's Klein Bottle

Lawson's Klein bottle, a generalization of the Clifford torus in 4D space

Computing π with the Bailey-Borwein-Plouffe Formula

Computing hexadecimal digits of π at arbitrary positions using the Bailey-Borwein-Plouffe formula

The Double Pendulum Map

Visualizing the phase space of simple and compound double pendulums

Malkus Waterwheel

A chaotic mechanical system whose dynamics map to the Lorenz attractor

Selecting the Right Opacity for 2D Point Clouds

An opacity formula for consistent visual appearance in brute-force point cloud rendering

Adaptive Contouring in Fragment Shaders

Adaptive contour rendering in fragment shaders using screen-space derivatives for smooth, resolution-independent contour lines

WebGPU Voronoi Diagrams using the Jump Flooding Algorithm

Computing Voronoi diagrams and distance fields on the GPU using the Jump Flooding Algorithm

Sphere Eversion

The Bednorz and Bednorz analytic sphere eversion, a continuous deformation turning a sphere inside out without creasing or tearing

Transparency for 3D Surfaces

A comparison of three approaches to rendering transparent 3D surfaces in WebGPU

Toiletpaperfullerenes and Charmin Nanotubes

Constructing fullerenes with toilet paper tubes

Particle-Mesh Gravity in WebGPU

2D gravitational N-body simulation using the particle-mesh method

Periodic Planar Three-Body Orbits

A catalog of periodic three-body orbits with topological classification via free group words

Multi-Scale Turing Pattern Gallery 2

Another gallery of multi-scale Turing patterns

Multi-Scale Turing Pattern Gallery 1

A gallery of multi-scale Turing patterns

Aligning 3D Scans

Automatically orienting 3D scans by computing principal axes from surface normals

Things I Learned the Hard Way Using React Native

An obsolete collection of lessons learned from eight months of React Native development

A Series of Unfortunate Things I Programmed One Time

Reflections on a decade of programming projects