Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A research-oriented elastic body simulator
| Date | Stars |
|---|---|
| 2026-07-25 | 400 |
| 2026-07-28 | 400 |
| 2026-07-30 | 400 |
| 2026-08-06 | 400 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# elasty



A research-oriented elastic body simulator

## Algorithms
### Frameworks
- [x] Position-based dynamics (PBD) [Müller+07]
- [x] Extended position-based dynamics (XPBD) [Macklin+16]
- [x] Small-steps XPBD [Macklin+19]
- [ ] Projective dynamics [Bouaziz+14]
- [ ] Quasi-Newton dynamics [Liu+17]
- [ ] ...
### Update Schemes for PBD/XPBD
- [x] Gauss-Seidel update
- [ ] Jacobi update
### Constraints for PBD/XPBD
- [ ] Area conservation constraint [Müller+14]
- [x] Bending constraint [Müller+07]
- [ ] Continuum-tetrahedron constraint [Bender+14]
- [x] Continuum-triangle constraint [Bender+14]
- [x] Distance constraint [Müller+07]
- [x] Environmental collision constraint
- [ ] Example-based shape matching constraint [Koyama+12]
- [x] Fixed point constraint
- [x] Isometric bending constraint [Bergou+06; Bender+14]
- [ ] Long range attachments constraint [Kim+12]
- [x] Shape matching constraint [Müller+05]
- [ ] Stable Neo-Hookean constraint [Macklin+21]
- [ ] Tetrahedron strain constraint [Müller+14]
- [ ] Triangle strain constraint [Müller+14]
- [ ] Volume conservation constraint [Müller+14]
- [ ] ...
### Continuum Materials for FEM Simulation
- [x] St. Venant Kirchhoff model
- [x] Co-rotational model
- [ ] Stable Neo-Hookean model [Smith+18]
- [ ] ...
## Additional Features
- Alembic export of triangle meshes
- Simple aerodynamics for clothes [Wilson+14]
- 2D FEM simulation with explicit Euler integration
- 2D FEM simulation with variational implicit Euler integration [Martin+11]
- 3D FEM simulation with variational implicit Euler integration [Martin+11]
## Dependencies
### Core Library
- Alembic <https://github.com/alembic/alembic> [BSD 3-Clause]
- Imath (3.0.2+) <https://github.com/AcademySoftwareFoundation/Imath> [BSD 3-Clause]
- Eigen <http://eigen.tuxfamily.org/> [MPL2]
- tinyobjloader <https://github.com/syoyo/tinyobjloader> [MIT]
### Demos
- bigger <https://github.com/yuki-koyama/bigger> [MIT]
- bigg <https://github.com/JoshuaBrookover/bigg> [Unlicense]
- bgfx.cmake <https://github.com/JoshuaBrookover/bgfx.cmake> [CC0]
- bgfx <https://github.com/bkaradzic/bgfx> [BSD 2-Clause]
- bimg <https://github.com/bkaradzic/bimg> [BSD 2-Clause]
- bx <https://github.com/bkaradzic/bx> [BSD 2-Clause]
- Dear ImGui <https://github.com/ocornut/imgui> [MIT]
- GLFW <https://github.com/glfw/glfw> [Zlib]
- GLM <https://github.com/g-truc/glm> [MIT]
- random-util <https://github.com/yuki-koyama/rand-util> [MIT]
- string-util <https://github.com/yuki-koyama/string-util> [MIT]
- tinyobjloader <https://github.com/syoyo/tinyobjloader> [MIT]
- timer <https://github.com/yuki-koyama/timer> [MIT]
- mathtoolbox <https://github.com/yuki-koyama/mathtoolbox/> [MIT]
### Tests
- googletest <https://github.com/google/googletest> [BSD 3-Clause]
## Prerequisites
### macOS
```bash
brew install eigen imath
```
### Ubuntu 20.04
```bash
apt install libeigen3-dev
```
and manually install Imath 3.0.2+.
### Windows
(not tested yet)
## Build
```bash
git clone https://github.com/yuki-koyama/elasty.git --recursive
mkdir build
cd build
cmake ../elasty
make
```
## Gallery
### PBD vs. XPBD
The constraint stiffnesses in PBD [Müller+07] are dependent on the number of iterations for constraint solving. As the number of iterations increases, the constraints become infinitely stiff regardless of the `stiffness` parameters. This issue makes the parameter tuning difficult.
XPBD [Macklin+16] resolves this issue. As the number of iterations increases, the constraint stiffnesses converge to some (non-infinitely-stiff) states in accordance with the `compliance` parameters. This property makes the parameter tuning easier and more consistent.
![](./docs/pbd-xpbd-comparisoExcerpt of 8,517 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:e12508e2cbf05c75, topic:simulation