position-based-dynamics
DART
position-based-dynamics | DART | |
---|---|---|
1 | 1 | |
67 | 867 | |
- | 0.7% | |
0.0 | 9.4 | |
over 1 year ago | 5 days ago | |
C++ | C++ | |
Boost Software License 1.0 | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
position-based-dynamics
-
SoftBody Simulation model
If you are already familiar with opengl, then you don't actually need a soft body sim open source project that is written with opengl to understand how to implement soft body sim in opengl. Basically, what I mean by this is that for soft body simulations, vertices may deform by many transformations including, but not exclusively, rigid transformations (soft bodies can deform in highly non-linear ways, you can stretch them in many ways, twist them, etc). This means that you cannot simply animate your objects with a rotation and a translation as you would animate rigid bodies. You will need to update vertex positions every frame and transfer them to opengl for rendering. So in other words, you only need an open source project which solves the problem of computing new vertex positions at every frame given external and internal forces. There are many different algorithms for simulating soft bodies, (algorithms which compute new vertex positions at every frame), but I would suggest targeting position based dynamics, which is one of the simpler but more flexible real-time methods for simulation. It is used in many real time scenarios such as video games. I believe there are many open source projects which implement position based dynamics, but if you can't find them or do not find them to your liking, you can try this one https://github.com/Q-Minh/position-based-dynamics. It is a prototype of PBD that you can play with in ImGui and uses libigl for visualization. libigl's viewer actually wraps opengl code. But as I said, you only need a way to find and update new vertex positions and send those to opengl regularly to integrate the soft body sim to opengl. Hope this helps.
DART
-
Python for everyone : Mastering Python The Right Way
DART (Dynamic Animation and Robotics Tookkit)
What are some alternatives?
rigs-of-rods - Main development repository for Rigs of Rods soft-body physics simulator
ROS - Core ROS packages
PCL - Point Cloud Library (PCL)
FCL - Flexible Collision Library
moveit - :robot: The MoveIt motion planning framework
Keras - Deep Learning for humans
Robotics Library (RL) - The Robotics Library (RL) is a self-contained C++ library for rigid body kinematics and dynamics, motion planning, and control.
MRPT - :zap: The Mobile Robot Programming Toolkit (MRPT)
AIKIDO - Artificial Intelligence for Kinematics, Dynamics, and Optimization
pinocchio - A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Makelangelo-firmware - CNC firmware for many different control boards and kinematic systems. Originally the brain of the Makelangelo art robot.
OpenCV - Open Source Computer Vision Library