Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/microo8/ca-project
C03 - Inverse Kinematics
https://github.com/microo8/ca-project
Last synced: about 1 month ago
JSON representation
C03 - Inverse Kinematics
- Host: GitHub
- URL: https://github.com/microo8/ca-project
- Owner: microo8
- Created: 2012-09-24T09:45:24.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2013-01-31T09:43:07.000Z (almost 12 years ago)
- Last Synced: 2023-03-24T10:51:25.898Z (almost 2 years ago)
- Language: Python
- Homepage:
- Size: 285 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
README
==========
CA project
==========*autor:* Bc. Vladimir Magyar
Project theme C03 - Inverse Kinematics:
---------------------------------------- Scene: 2d line-segment skeleton of figure (min 15 bones)
- Implement 2d skeleton creation
- User can create new bone by selecting parent bone (click on it) and clicking anywhere to define end of bone
- Bones can have more child bones
- Each bone has its position, rotation angle and length (end point can be calculated)
- User can select starting and ending bone of the IK sequence
- Implement forward kinematics
- Select bone by clicking, change rotation angle by dragging
- Child bones must be transformed correctly (can use transformation 3x3 matrices - they handle both rotation and translation)
- Implement inverse kinematics (relaxation by gradient calculation)
- User can move end bone - IK solves bones in the IK sequenceImplementation
--------------:programing language: `python 3.2 `_
:graphical user interface: `GTK3 `_
:mathematical library: `numpy `_Progress
--------- Scene with sceleton:
- user can create new bones by clicking on a joint and than right click to a diredtion
- user can drag the sceleton by clicking on a joint and then draging it
- Forward kinematics:
- user can rotate the bones by selecting a joint and than draging a child joint, all descendants rotate with it
- Inverse kinematics:
- user can drag leaf joint and the arm (from root to the leaf) will follow the mouse cursor (while mouse button is down)
- Saving and loading sceletonsThe application:
|screenshot01|
Rotating the bones:
|screenshot02|
Draging the sceleton:
|screenshot03|
Saving and loading:
|screenshot04|
Inverse kinematics, draging leaf joint with the mouse:
|screenshot05|
.. |screenshot01| image:: screenshots/Screenshot01.png
.. |screenshot02| image:: screenshots/Screenshot02.png
.. |screenshot03| image:: screenshots/Screenshot03.png
.. |screenshot04| image:: screenshots/Screenshot04.png
.. |screenshot05| image:: screenshots/Screenshot05.png