bonjour,
j'essaie d'effectuer un changement de repère. Je travaille sous Java3D. J'ai tenté avec des matrices des changements de repère moi même, mais je n'obtiens pas la bonne transformation.
J'ai tenté par une méthode un peu plus bourrine, mais j'ai un soucis de compression sur un axe et ca rend assez moche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Vector3f da, db, dc;
       float x,y,z;
       Point3f temp;
       da = new Vector3f();
       db = new Vector3f();
       dc = new Vector3f();
 
       da.cross(V, W);
       db.cross(W, U);
       dc.cross(Y, V);
 
       for(int i = 0; i< tab3D.S3D.length; i++)
           for(int j = 0; j< tab3D.S3D[0].length; j++)
       {
           temp =  tab3D.S3D[i][j].p3D;
           x = (temp.x - E.x);
           y = (temp.y - E.y);
           z = (temp.z - E.z);
           temp.x = ( ( x*da.x + y*da.y + z*da.z ) / (U.x*da.x + U.y*da.y + U.z*da.z) );
           temp.y = ( ( x*db.x + y*db.y + z*db.z ) / (V.x*db.x + V.y*db.y + V.z*db.z) );
           temp.z = ( ( x*dc.x + y*dc.y + z*dc.z ) / (W.x*dc.x + W.y*dc.y + W.z*dc.z) );
 
       }
est ce que quelqu'un saurait où ma fonction est fausse? Ou mieux, quelqu'un pourrait il m'indiquer où est ce que je peux trouver une fonction de changement de repère?

Merci