- Read more about FABRIK: Paper
- Find more about this project: 3DReptiles website
As specified in the paper above regarding FABRIK, "FABRIK uses a forwardand backward iterative approach, finding each joint posi-tion via locating a point on line. FABRIK has been utilisedin highly complex systems with single and multiple tar-gets, with and without joint restrictions. It can easily han-dle end effector orientations and support, to the best of ourknowledge, all chain classes. A reliable method for incorpo-rating constraints is also presented and utilised within FABRIK"
📁 Current repository
This repository contains the:
- Implementation of FABRIK for a lizard with 17 markers
Based on Andreas Aristidou's snake implementation, I converted the code to python and implemented a more complex than snake model, the lizard.
🎯 Goals
- Parse a C3D file
- Read the markers' values and fix missing values
- Export fixed values as a new C3D file
- We should be able to use the new file in order to apply a lizard model and export realistic animations
💻 Implementation
- The lizard we would like to fix the values for has in general the following marker labels:
- Lizard:Head
- Lizard:Neck
- Lizard:FrontRightLeg
- Lizard:FrontRightFoot
- Lizard:FrontLeftFoot
- Lizard:FrontLeftLeg
- Lizard:UpperBack or UpperBody
- Lizard:LowerBack or LowerBody
- Lizard:BackRightLeg
- Lizard:BackRightFoot
- Lizard:BackLeftLeg
- Lizard:BackLeftFoot
- Lizard:Tail0
- Lizard:Tail1
- Lizard:Tail2
- Lizard:Tail3
- Lizard:Tail4
Dependencies
- Numpy
- C3D server(python bindings)
- Matplotlib
Other official modules
- Math
- Argparse
- Os