Inverse Kinematics

external-link

Dec 2024

Finished

This is a simple and fast project developed in one day using Python, Pygame, and NumPy. After being inspired by some YouTube videos, I decided to give it a try. The mathematics involved are simple—just angle operations. The results are quite good, though there is plenty of room for improvement. The spider section was an experiment to make it work on a moving object, recreating the animation of a walking creature. The perspective is not optimal, and sometimes the legs get stuck in random positions. Nevertheless, the results are quite impressive considering the simplicity of the code.

Technologies
python

Python

pygame

Pygame

numpy

NumPy

https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (1)_169.webp?v=267643aba4825098b6faf2cc53a7782b332ab519
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (2)_169.webp?v=53d3029bec94a6aecab2d5f02a42d8df1ebb3c2b
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (3)_169.webp?v=cfc90d67f6728cdad95d60c62c283e90251e91b4
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (4)_169.webp?v=cb301de40e8849fa0b00f48704422a776dfc49dd
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (5)_169.webp?v=861e0150dff7ac59c13960c4e812b7de0c13b895
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (6)_169.webp?v=13d48be9ecb78aec182acc277735b3afc878e337
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (1)_169.webp?v=267643aba4825098b6faf2cc53a7782b332ab519
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (2)_169.webp?v=53d3029bec94a6aecab2d5f02a42d8df1ebb3c2b
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (3)_169.webp?v=cfc90d67f6728cdad95d60c62c283e90251e91b4
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (4)_169.webp?v=cb301de40e8849fa0b00f48704422a776dfc49dd
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (5)_169.webp?v=861e0150dff7ac59c13960c4e812b7de0c13b895
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (6)_169.webp?v=13d48be9ecb78aec182acc277735b3afc878e337
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (1)_169.webp?v=267643aba4825098b6faf2cc53a7782b332ab519
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (2)_169.webp?v=53d3029bec94a6aecab2d5f02a42d8df1ebb3c2b
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (3)_169.webp?v=cfc90d67f6728cdad95d60c62c283e90251e91b4
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (4)_169.webp?v=cb301de40e8849fa0b00f48704422a776dfc49dd
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (5)_169.webp?v=861e0150dff7ac59c13960c4e812b7de0c13b895
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (6)_169.webp?v=13d48be9ecb78aec182acc277735b3afc878e337
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (1)_169.webp?v=267643aba4825098b6faf2cc53a7782b332ab519
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (2)_169.webp?v=53d3029bec94a6aecab2d5f02a42d8df1ebb3c2b
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (3)_169.webp?v=cfc90d67f6728cdad95d60c62c283e90251e91b4
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (4)_169.webp?v=cb301de40e8849fa0b00f48704422a776dfc49dd
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (5)_169.webp?v=861e0150dff7ac59c13960c4e812b7de0c13b895
https://raw.githubusercontent.com/MiquelGomezCorral/Inverse_Kinematics/main/readme_images/Kinematics (6)_169.webp?v=13d48be9ecb78aec182acc277735b3afc878e337