Geomorphology in Python
Python‑based terrain generator that synthesizes realistic heightmaps using river networks and particle‑based erosion, with a GUI for rapid iteration and export.
Skills Demonstrated
- Procedural terrain modeling and simulation‑driven design.
- Python tooling for data pipelines, visualization, and export.
- GUI development for interactive parameter tuning and previews.
What (Problem & Context)
- Goal: generate realistic terrain heightmaps with believable river/erosion features.
- Target use: pre‑generation stage for open‑world terrain (Minecraft‑like workflows).
- Context: personal Python project for procedural worldbuilding and analysis.
How (Process & Constraints)
- Base terrain: fractal noise synthesis for large‑scale features and detail.
- River networks: simulated flow/volume, watersheds, and down‑cutting effects.
- Erosion: particle‑based hydraulic erosion with deposition tracking.
- Heuristics: slope/aspect, normals, curvature, TPI/TWI, SVF, flow accumulation.
- Climate & biome: temperature/precipitation models, biome classification, albedo/foliage outputs.
- GUI: PyQt5 app with OpenGL 3D preview, parameter controls, and progress feedback.
- IO: import heightmaps, export heightmaps + masks (PNG 8/16, TIFF 32), flow/watershed/deposition maps.
- Performance: optional Numba acceleration for hot paths.
Why (Results & Impact)
- Produced an end‑to‑end tool for generating and exporting realistic terrain data.
- Enabled rapid iteration on terrain parameters with visual and quantitative outputs.
- Reusable pipeline for game‑world pre‑generation and terrain analysis workflows.
Team & Contribution
- Individual project: owned full stack from algorithms to GUI and export tooling.
Media