begin process at 2012 05 28 14:04:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

Besoin d'aide / -> opérations matricielles pour position miroir d'un point dans l'espace


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Besoin d'aide / -> opérations matricielles pour position miroir d'un point dans l'espace

mercredi 3 décembre 2008 à 21:22:11 | Besoin d'aide / -> opérations matricielles pour position miroir d'un point dans l'espace

kiteman

Bonjour , je suis nouveau ici .

Je suis pas vraiment programmeur ( je suis infographiste (animateur 3D) ) .
J'apprends ces jours ci un language spécifique de mon logiciel de travail (cinéma4D) , basé sur le C++ afin de developper des petits plugins pour améliorer mon ergonomie de travail ..
bon je galère un peu ^^ mais ça va j'apprends.

Donc je viens vous demander de l'aide car , je souhaiterais me faire un 1er plugin qui me permettrait de faire rapidement des poses mirroirs de personnages , en agissant sur les controlleurs du personnage , et en les mirroirant selon un axe choisis .Le problème est que je galère à trouver la formule mathématique qui me permettrait de donner la position et rotation d'un point dans l'espace , en mirroir , par rapport un plan .

donc imaginons un objet A ( cube vert sur l'image ) , un objet M servant d'origine et sur lequel on choisit l'axe de mirroir (ici l'objet 'nul' symbolisé par le plan blanc )
et un objet B ( cube rouge ) . Je veux que cet objet B soit le symétrique de A sur l'axe Z de l'objet M ( donc son plan XY) . (j'ai triché sur l'image , c'est pour ça que ça semble syméytrique ^^ ) 

J'ai accès aux matrices locales et globales , aux positions/rotations locales et globales de chaque objet . J'ai tous les noueds mathématique pour les opérations d'algèbre et de conversion diverses .. mais il me manque juste la bonne formule pour trouver , par les matrices globales et/ou les positions et rotations globales , ce calcul automatique de mirroir :(

donc les matrices de chaque objet me donnent ( V0 V1 V2 V3 ) [avec V0 la position dans l'espace (vecteur ) .. V1 V2 et V3 les vecteurs définissant la rotation du repère de l'objet dans l'espace .

voila avez-vous des idées ? merci d'avance si vous pouvez aider un nulos en maths comme moi ! :)  
 
  

++

clément
mercredi 3 décembre 2008 à 21:26:09 | Re : Besoin d'aide / -> opérations matricielles pour position miroir d'un point dans l'espace

kiteman

ici un autre exemple (truqué biensur ) de l'effet mirroir voulu avec cet objet M origine du mirroir , déplacé et tourné un peu dans l'espace . on voit bien que le cube rouge est le "reflet" du cube vert , sur le plan YX de l'objet M ( plan blanc ) :

mercredi 3 décembre 2008 à 21:34:15 | Re : Besoin d'aide / -> opérations matricielles pour position miroir d'un point dans l'espace

kiteman

(désolé je vois pas où éditer mes messages :( .. alors je poste à la suite )

Voila ici , l'interface de mon plugin ( si j'y arrive ^^ ) . Programmé en c++ via un editeur spécial dans le logiciel .



donc le principe est assez simple je pense : on drag & drop nos controlleurs dans les liens .. on choisit lesquels on veut pour l'effet mirroir ( donc on active ou non les "checkbox' ) .. on drag and drop le controlleur ou objet servant d'origine au plan mirroir ...on choisit l'axe via le petit menu déroulant .. et puis on a les boutons d'actions : mirroir des élements selectionnés ( checkbox ) .. et/ou  stockage de la pose ( j'ai mis 3 boutons car je n'ai pas besoin de plus généralement ) pour pouvoir se déplacer dans l'animation (dans le temps ) et pouvoir reinjecter la pose .

voili voilou 

:)
jeudi 4 décembre 2008 à 01:15:30 | Re : Besoin d'aide / -> opérations matricielles pour position miroir d'un point dans l'espace

kiteman

ok ayé trouvé ! :D  (grace à un ami qui m'a mis sur la piste des multiplications de matrices et des inversions .

donc ici en gros j'ai:

(matrice globale de A * (invert(matrice globale M ))  j'obtient un premier croisement matriciel [ appelons-le M1] auquel je multiplie (1,1,-1) (car je veux une sym sur Z ) à V0 V1V2etV3 .. puis je remultiplie [en croisé] ( matrice globale M ) * (matrice M1)  ... et cette matrice résultante , je l'injecte dans mon cube rouge , en entrée 'matrice globale'

ici un test en video :

[ Lien ]

souiiiis content .. je peux coder ça maintenant et continuer mon plug ^^

++
clement



Cette discussion est classée dans : aide, objet, espace, position, globales


Répondre à ce message

Sujets en rapport avec ce message

aide objet enum{} + conseil livre visual c++ [ par retaks666 ] ______________________ .----. /RETAKS666@wanadoo.fr / _.'__ `. / /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯alors jai plusi gestion d'une multitude d'objets, interactions dans l'espace [ par cppdupdup34 ] alors voila j'ai une petite question !Comment gerer une multitude d'objets géométriques dans un espace tridimensionnel ?A titre d'exemple, sur une map Position et Orientation -> matrice 4*4 [ par xabila ] Bonjour, je voudrais savoir comment à partir d'une position dans l'espace d'un objet avec son orientation, donc un vecteur 3f on arrive à sa matrice connaitre la position d'un objet [ par mutan35 ] Tout d'abord bonjour, j'aimerai savoir s'il est possible de connaitre la position d'un objet (genre une petite image) Exemple: j'ai une image de 20*20 Comment fabriquer un HBITMAP à partir d'un Bitmap* (GDI+) ? [ par Hellbar ] Bonjour !Je bute sur un problème depuis quelques jours.Je réalise une application qui doit être capable de charger un bitmap à partir d'un fichier, en Coordonnes souris en SDL [ par lamiae89 ] Je suis entrain de travailler sur une interface graphique en sdl , pour faire un jeu .Je veux ecrire chaque chiffre là où j'avais cliqué avec la souri objet persistant [ par dalimrabet ] [b][i][size=100]salut tout le monde :) je suis débutant dans le domaine de programmation , et il nous a été demandé dans la classe de créer des objets moteur physique [ par Jackyzgood ] Bonjour à tous ! J'essaye actuellement de créer une fonction qui me gère des trajectoires simple dans un champ de pesanteur avec rebond. Mon problème position d'un control [ par Xs ] salut !!comment on peut récuperer la position X,Y d'un objet et sa taille (longueur, largeur);j'entend en fait par objet, un bouton.merci


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,293 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales