Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2736 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Calcul de matrice par biblothéque osg

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Calcul de matrice par biblothéque osg

n°2243558
yann58
Posté le 20-11-2014 à 15:57:02  profilanswer
 

Bonjour ,
Je cherche à calculer une matrice en utilisant la bibliothéque osg.
 
voici un listing de code pour essayer de calculer un point avec transformation de matrice.
 
Code:
 

Code :
  1. { osg::Vec3 ref,axis,monpoint,ap,inv;
  2. ref.set(0.0f,0.0f,-1.0f);
  3. ref.normalize();
  4. monpoint.set(2.523f,-5.390f,0.0f);
  5. axis.set(-1.0f,0.0f,0.0f); axis.normalize();
  6. ap=ref^axis; result=ap^monpoint; //qui devrait me donner -2.523,-5.390,0.0f
  7. }


 
je voudrais retrouver par le calcul d'une matrice un point qui est égal à 'result=-2.523,-5.390,0.0' , ce qui donne actuellement 0.0,0.0,-2.52,
pour cela pouvez-vous me corriger au niveau code ?
 
 
Merci.

mood
Publicité
Posté le 20-11-2014 à 15:57:02  profilanswer
 

n°2243600
honrisse
Posté le 20-11-2014 à 23:22:19  profilanswer
 

yann58 a écrit :

Bonjour ,
Je cherche à calculer une matrice en utilisant la bibliothéque osg.
 
voici un listing de code pour essayer de calculer un point avec transformation de matrice.
 
Code:
 

Code :
  1. { osg::Vec3 ref,axis,monpoint,ap,inv;
  2. ref.set(0.0f,0.0f,-1.0f);
  3. ref.normalize();
  4. monpoint.set(2.523f,-5.390f,0.0f);
  5. axis.set(-1.0f,0.0f,0.0f); axis.normalize();
  6. ap=ref^axis; result=ap^monpoint; //qui devrait me donner -2.523,-5.390,0.0f
  7. }


 
je voudrais retrouver par le calcul d'une matrice un point qui est égal à 'result=-2.523,-5.390,0.0' , ce qui donne actuellement 0.0,0.0,-2.52,
pour cela pouvez-vous me corriger au niveau code ?
 
 
Merci.


 
Bonjour,
 
J'ai du mal à comprendre ce que vous souhaitez faire en lisant la question.
Je ne connais pas la bibliothèque OSG.
Si vous voulez calculer la matrice de rotation R entre deux points tel que P1(x1, y1, z1) = R x P2(x2, y2, z2), cf ces liens (mais il faut plus que seulement deux points) :

Si c'est calculer la matrice de rotation à partir d'une représentation (axe de rotation + angle) : https://fr.wikipedia.org/wiki/Rotat [...] n.C3.A9ral
 
 
Edit :
Beaucoup plus simple (même si cela ne semble pas répondre à la question originale), si les deux points sont exprimés dans le même repère, on peut bien évidemment calculer l'angle et l'axe de rotation et donc la matrice de rotation R.
Par exemple ici, avec P1 = R.P2 et P1 = (-2.523,-5.390,0.0f) et P2 = (2.523f,-5.390f,0.0f), on a  
R = [    0.6405    0.7679         0
          -0.7679    0.6405         0
          0         0    1.0000 ]


Message édité par honrisse le 22-11-2014 à 00:53:55
n°2243612
yann58
Posté le 21-11-2014 à 09:13:09  profilanswer
 

Je voulais dire modifier le code pour que le résultat du produit vectoriel (ref axis monpoint)
donne -2.523,-5.390 au lieu de 0.0,0.0,-2.52

n°2243687
honrisse
Posté le 22-11-2014 à 00:08:11  profilanswer
 

yann58 a écrit :

Je voulais dire modifier le code pour que le résultat du produit vectoriel (ref axis monpoint)
donne -2.523,-5.390 au lieu de 0.0,0.0,-2.52


 
Qu'est ce qui est fixe et qu'est ce qui est variable parmi ref, axis et monpoint ?
Si monpoint et result sont constantes et le reste variable, pour moi c'est pas possible.
Dans result = ap^monpoint, result et monpoint ne sont pas perpendiculaires avec result=(-2.523,-5.390,0.0f ) et monpoint=(2.523f,-5.390f,0.0f).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Calcul de matrice par biblothéque osg

 

Sujets relatifs
Calcul de volume d'un cylindrematrice multidimenssionnelle
créer une image à partir d'une matricelibrairie CImg : créer une image à partir d'une matrice
Calcul ecart type MATLAB [RESOLU]Commente faire un générateur de calcul sous javascipt
calcul de champsAssembleur matrice
réliser une interface de matrice avec netbeansCalcul de puissance de n
Plus de sujets relatifs à : Calcul de matrice par biblothéque osg


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR