This project is a numerical simulation that models how terrain changes over thousands of years. It uses physics-based rules to show how mountains erode, how sediment moves, and how islands eventually merge or disappear as ocean levels change.
The simulation uses two main forces:
- Hydraulic Erosion: Water flowing downhill and carving out paths.
- Soil Diffusion: The natural "smoothing" of the earth over time.
Imagine you build a big, pointy sandcastle. If you pour water on it, the water carries the sand away and makes the castle look smoother and flatter. My code is a robot that does the math to show exactly how that happens to a whole island or mountain range over a very long time!
landscape_evolution_simulation.ipynb: The main interface where you set the parameters (like how fast the water flows) and run the simulation.landscapeWithOcean.py: The "engine" of the project. This file contains the complex math for tracking water flow, finding pools, and calculating ocean levels.
To run this simulation, you will need:
- Python 3
- NumPy (for calculations)
- Matplotlib (for 3D plotting and animations)
- FFmpeg (optional, for saving the simulation as a video)
- Clone this repository.
- Open the Jupyter Notebook.
- Run the cells to see the landscape evolve from a sharp mountain range into a weathered island system.