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.
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?
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) ); }
Merci
Partager