Bonjour, j'ai un petit (bon gros en fait) problème de math, avant de tout vous balancer en pleine face un petit contexte:

Je suit actuellement des études d'informatique en Irlande, pour le deuxième semestre on nous a demandé de faire un projet.
Le mien consiste en un 'éditeur' d'animation pour un vieux jeu nommé Half-Life (Spectromètre anti-masse *PAF* aliens, fusil à pompe etc.), le principe de mon application repose sur la conversion d'animations d'un modèle 3D à l'autre.

Le problème étant que les squelettes d'animations sont très différent d'un modèle à l'autre (de part leur taille, forme, organisation et complexité), il faut donc adapter et 'mapper' les squelettes entre eux, et appliquer ensuite des modifications sur les animations en elles mêmes.

Un squelette c'est simplement un arbre d'os, avec une position de base pour chaque os,une animation est aussi un objet très simple, basiquement c'est juste une liste de frame, ces dernières étant des listes de nouvelle positions pour les os, un os étant une suite de six réels (position en X,Y,Z et orientation en X,Y,Z) sachant que ces valeurs sont référencés par rapport au parent dans l'arbre, exception faite de la/les racine(s) dont les valeurs sont absolues (en fait la référence c'est la position du modèle dans le jeu, mais dans ce contexte on peut ce permettre quelles sont absolues, enfin moi je me le permets ).

Parmi les modification disponible existe bien évidement les fonctions de base : Translation/Modification/Mise à l'échelle dont les modifications s'appliquent sur un ou plusieurs os, mon problèmes c'est que dans ma grande gentillesse/connerie/bonté j'ai pensé qu'il était bon de laisser l'utilisateur choisir l'axe d'action au choix dans 'l'espace' local définit par l'os soit en global (dans l'espace monde)

Le problème c'est que si l'utilisateur fait une modification en global, il faudra quand même l'enregistrer et c'est là (fin de la partie contexte) qu'est mon problème, je me doute qu'il doit bien exister une formule pour recalculer la position d'un point d'un espace à l'autre, mais je n'est aucune idée de comment faire.

J'ai bien tenté de regarder sur le net mais un an sans math et sachant que je n'ai pas de cour de math ici j'ai finit par perdre tout mon niveau en math (j'en pleurs la nuit).

Donc si quelqu'un pouvait m'aider ... siouplez?

Une autre question, voir si j'ai pas trop perdu mon niveau au final, sachant qu'avec un os et son parent j'ai surement de quoi déduire un sens, une direction et une distance, est ce que ça suffit pour dire que pour chaque Os1 et Os2 pour lesquels il existe un chemin dans le squelette il existe un vecteur, ou je suis vraiment devenu débile et je devrais passer le reste de ma vie à regarder les fleurs dans le jardin avec des étoiles dans les yeux ?

Cordialement