56 lines
2.3 KiB
Markdown
56 lines
2.3 KiB
Markdown
# ***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 |
|