← retour à la page principale du projet
Rapport du vendredi 29 juillet 2005

Matin:


Après-midi:
J'ai des résultats trop chaotiques. Pour la rotation, l'angle change suivant le mouvement de la caméra! Ce n'est absolument pas ce que je veux!
La translation est codée sur 3 floats, la rotation sur 4 (!!) floats, & j'ai pour chaque chiffre de la rotation 1 fois sur 2 nan (not a number). SclaVector réagit à peu près de la même manière.
Pour ce qui est de la translation, quel que soit le mouvement de la caméra, j'ai:
TranslationX=-0.000015  TranslationY=0.000000  TranslationZ=0.000000
Pire, voici une série de résultats que j'ai obtenu en cliquant plusieurs fois, sans chnager rien du tout (ni mouvement de caméra, ni mouvement d'objet):
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=-0.557670  rotationQ1=0.367685  rotationQ2=0.743721  rotationQ3=0.026272
scalevectorX=0.000034  scalevectorY=0.000005  scalevectorZ=0.000010
scaleorientationQ0=-0.124367  scaleorientationQ1=-0.349048  scaleorientationQ2=0.266122  scaleorientationQ3=0.889875
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=-0.131052  rotationQ1=-0.482015  rotationQ2=0.735411  rotationQ3=0.457883
scalevectorX=-0.000000  scalevectorY=0.000032  scalevectorZ=0.000000
scaleorientationQ0=0.358344  scaleorientationQ1=-0.006129  scaleorientationQ2=-0.313091  scaleorientationQ3=0.879503
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=nan  rotationQ1=nan  rotationQ2=nan  rotationQ3=nan
scalevectorX=nan  scalevectorY=nan  scalevectorZ=nan
scaleorientationQ0=0.000000  scaleorientationQ1=0.000000  scaleorientationQ2=0.000000  scaleorientationQ3=1.000000
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=nan  rotationQ1=nan  rotationQ2=nan  rotationQ3=nan
scalevectorX=nan  scalevectorY=nan  scalevectorZ=nan
scaleorientationQ0=0.000000  scaleorientationQ1=0.000000  scaleorientationQ2=0.000000  scaleorientationQ3=1.000000
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=nan  rotationQ1=nan  rotationQ2=nan  rotationQ3=nan
scalevectorX=nan  scalevectorY=nan  scalevectorZ=nan
scaleorientationQ0=0.000000  scaleorientationQ1=0.000000  scaleorientationQ2=0.000000  scaleorientationQ3=1.000000
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=nan  rotationQ1=nan  rotationQ2=nan  rotationQ3=nan
scalevectorX=nan  scalevectorY=nan  scalevectorZ=nan
scaleorientationQ0=0.000000  scaleorientationQ1=0.000000  scaleorientationQ2=0.000000  scaleorientationQ3=1.000000
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=nan  rotationQ1=nan  rotationQ2=nan  rotationQ3=nan
scalevectorX=nan  scalevectorY=nan  scalevectorZ=nan
scaleorientationQ0=0.000000  scaleorientationQ1=0.000000  scaleorientationQ2=0.000000  scaleorientationQ3=1.000000
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=nan  rotationQ1=nan  rotationQ2=nan  rotationQ3=nan
scalevectorX=nan  scalevectorY=nan  scalevectorZ=nan
scaleorientationQ0=0.000000  scaleorientationQ1=0.000000  scaleorientationQ2=0.000000  scaleorientationQ3=1.000000
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=-0.131052  rotationQ1=-0.482015  rotationQ2=0.735411  rotationQ3=0.457883
scalevectorX=-0.000000  scalevectorY=0.000032  scalevectorZ=0.000000
scaleorientationQ0=0.358344  scaleorientationQ1=-0.006129  scaleorientationQ2=-0.313091  scaleorientationQ3=0.879503
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=nan  rotationQ1=nan  rotationQ2=nan  rotationQ3=nan
scalevectorX=nan  scalevectorY=nan  scalevectorZ=nan
scaleorientationQ0=0.000000  scaleorientationQ1=0.000000  scaleorientationQ2=0.000000  scaleorientationQ3=1.000000
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=nan  rotationQ1=nan  rotationQ2=nan  rotationQ3=nan
scalevectorX=nan  scalevectorY=nan  scalevectorZ=nan
scaleorientationQ0=0.000000  scaleorientationQ1=0.000000  scaleorientationQ2=0.000000  scaleorientationQ3=1.000000
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=nan  rotationQ1=nan  rotationQ2=nan  rotationQ3=nan
scalevectorX=nan  scalevectorY=nan  scalevectorZ=nan
scaleorientationQ0=0.000000  scaleorientationQ1=0.000000  scaleorientationQ2=0.000000  scaleorientationQ3=1.000000
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=nan  rotationQ1=nan  rotationQ2=nan  rotationQ3=nan
scalevectorX=nan  scalevectorY=nan  scalevectorZ=nan
scaleorientationQ0=0.000000  scaleorientationQ1=0.000000  scaleorientationQ2=0.000000  scaleorientationQ3=1.000000
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=nan  rotationQ1=nan  rotationQ2=nan  rotationQ3=nan
scalevectorX=nan  scalevectorY=nan  scalevectorZ=nan
scaleorientationQ0=0.000000  scaleorientationQ1=0.000000  scaleorientationQ2=0.000000  scaleorientationQ3=1.000000
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=-0.097459  rotationQ1=-0.038052  rotationQ2=-0.036890  rotationQ3=0.702769
scalevectorX=0.000000  scalevectorY=0.000000  scalevectorZ=0.000032
scaleorientationQ0=-0.354392  scaleorientationQ1=0.239422  scaleorientationQ2=-0.171180  scaleorientationQ3=0.887570
Bouton Matrix cliqué.
translationX=-0.000015  translationY=0.000000  translationZ=0.000000
rotationQ0=-0.045816  rotationQ1=-0.607424  rotationQ2=0.635771  rotationQ3=0.474060
scalevectorX=0.000032  scalevectorY=0.000000  scalevectorZ=-0.000000
scaleorientationQ0=0.006730  scaleorientationQ1=-0.358217  scaleorientationQ2=0.313866  scaleorientationQ3=0.879274
Discussion de mi-projet avec Nicolas, & réflexion sur la marche à suivre durant les prochaines semaines.
Bon, quel que soit le noeud que je choisisse, le résultat est toujours aussi mauvais.
Rappel: codage proposé: 3 floats pour la translation, 3 floats pour la rotation, 6 floats pour l'échelle.
Méthode: à partir d'un noeud (SoSeparator), je crée un SoGetMatrixAction, puis un SbMatrix. De cette SbMatrix, j'extraie 2 SbVec3f & 2 SbRotation, chaque SbVec3f me donnant 3 floats & chaque SbRotation me donnant 4 floats.

J'ai parlé des matrices avec Audrey. Personnellement, je trouve que le logiciel bride énormément les capacités offertes par le format .out...
Les matrices demandent:
Déjà, je n'arrive ni à calculer une position, ni même un déplacement...
J'ai essayé de tester la fonction print de SbMatrix qui demande un FILE. Je teste avec SoFile, mais le destructeur & toutes les fonctions sont protected. Je craque=>à la semaine prochaine. :p
Si vous voulez jeter un coup d'oeil au code, je l'ai mis à jour.

À effectuer prochainement:
Je pourrai peut-être tester les fonctions suivantes sur manipulatorTransform (de type SoTransform):
void  getScaleSpaceMatrix (SbMatrix &mat, SbMatrix &inv) const
void  getRotationSpaceMatrix (SbMatrix &mat, SbMatrix &inv) const
void  getTranslationSpaceMatrix (SbMatrix &mat, SbMatrix &inv) const

Valid XHTML 1.0 Transitional