Projects

Some of the six (primarily physics) projects I've done so far... and always cooking up something new!
Boids Simulation
Just like birds moving around in the sky, this playful simulation shows how each boid decides based only on its nearby neighbors - an example of emergent behavior. By tweaking these steering forces, these little boids magically reorganize into smooth, lifelike flocks, proving that simple & local decisions can truly lead to beautiful group choreography... who knew that birds could dance!
Cloud Ice Analysis
Cloud Ice Analysis
This loads two different GFDL AM3 and AM4 NetCDF outputs for cloud ice (cli) in Jan 2009, computes their differences, and demonstrates three different (but complementary) comparisons: 1) latitude–longitude maps at multiple pressure levels 2) latitude-pressure zonal‐mean difference plots, and 3) vertical profile difference charts. Also my first project in modeling & data comparison!
Double-Slit Fourier Analysis
Double-Slit Fourier Analysis
Fourier analysis of double-slit interference patterns, demonstrating wave-particle duality and quantum mechanics principles. Also the first simulation where I realized that seemingly abstract equations could be beautiful.
Pendulum Dynamics
Pendulum Simulation
Like a tug-of-war between gravity and inertia, this traces one mass sliding on a frictionless table tied to another hanging mass. Changing the initial stretch slider makes the orbit swell and shrink, with neither gravitational pull nor angular momentum ultimately winning over one another. This was inspired in part by Problem 1.26 in Cahn, which can be solved with generalized coordinates in Lagrangian mechanics.
Lorentzian Wave Analysis
Lorentzian Wave Analysis
This simulation visualizes two-dimensional wave propagation on a grid with customizable Gaussian/Lorentzian initial bumps & region-specific wave speeds. Combined with the discrete Laplacian operator, they lead to the evolving 3D hat-shaped surface seen here.
College Basketball Modeling
College Basketball Modeling
This script loads base team features and statistics files from KenPom into a dataset and uses this to train a linear regression model to predict each team's "net rating". Then, it uses match data to forecast net ratings & determine the predicted winner for each respective matchup.