There appears to be some differences between master and my local machines so this didn't work as expected. revert Updated sim.py updated sim.py with performance patch from the dev branch.
Falling Sand Simulation Concept in Python
mostly a concept in python for falling sand simulation i guess the goal is to make a python version of the powder toy which is a falling sand sim the code is not finished yet, but i will update it as i go.
Main Features
-
Particle Physics
- Gravity and wind effects
- Temperature dynamics
- State transitions (melting, freezing, evaporation)
-
Particle Interactions
- Collision detection
- Chemical reactions (e.g., water + sand = mud)
- Heat transfer between particles
-
Special Effects
- Fire propagation sorta
- Smoke generation
- Liquid spreading
-
Optimization Features
- Spatial partitioning grid
- Dormant particle tracking
- Batch processing
- Static User Interface
Current Features
| Working | Partial | Not Working/Implemented |
|---|---|---|
| Gravity | Gas | Zoom |
| Liquid/Solid | Liquid | Pause |
| Particle Data | Fire/Flame | Pressure |
| Brush Sizes | Particle Basic Interactions | explosiveness |
| Debugging Info | Particle Heat interactions | conductiveness |
| Menus and Buttons | Ambient Heat | |
| Wind | ||
| Core Physics and Interactions | ||
| Core Rendering System |
Controls
| Key | Action |
|---|---|
| Z | Zoom window |
| ESC | Exit Program |
| C | Clear Screen |
| Space | Pause Simulation |
| Mouse 1 {Left} | Spawn Particle with brush size |
| Mouse 3 {Right} | Erase Particles at cursor |
| Mouse 2 {Middle} | Spawn Particle at cursor |
| Mouse Wheel Up/Down | Change Brush size |
Description
Languages
Python
100%