Ali Hafez/Projects/

Aeolian/Desert Erosion Simulation

April 2022, for Physics Sim. for Movies & Games


My first year, I made the bold (and somewhat unwise) decision to take a graduate course about Physics simulation for Movies & Games. Very cool class, but definitely not first-year material. We learned about physics simulation techniques related to collision, deformation, fluid simulation, general simulation techniques (Forward Euler, Implicit Euler, Lagrangian and Semi-Lagrangian), and a LOT of linear algebra.

For a really long time, I've been super interested in procedural terrain generation. A lot of techniques exist to turn random landscapes into realistic ones, mostly hydraulic and thermal erosion, but wind/aeolian erosion simulation seemed to be totally overlooked. So for my final project, I decided to recreate the techniques used in the paper Desertscape Simulation by Paris et al. 2019. The resulting simulator is able to create a couple types of sand dunes (Transverse: repeated, linear; Barchan: crescent-shaped) just starting from some sand amount and wind simulation.

I did it in an online 3D engine called THREE.JS, and I'll try to get it hosted live soon so the project can be explored interactively here. It was very fun to work on and I would love to look more at the physics so I can try to improve upon the techniques used, and perhaps turn it into something a little more fun and interactive!