java 3D et les transformations

java 3D et les transformations - Java - Programmation

Marsh Posté le 24-05-2004 à 08:56:27    

Bonjour,
 
sujet  java3D
 
je ne sais pas trop comment fonctionne le forum car je n'y suis jamais allée. je voudrais savoir comment placer un cylindre 3D dans l'espace 3D. Lorsque je crée un cylindre celui ci se place en (0,0,0); or moi je dispose d'un fichier ou je connais 2 points du cylindre donc je connais son vecteur directeur. J'ai trouvé la translation pour passer de un à l'autre mais pas les angles de rotations. comment faire? sinon ne peut on pas créer un cylindre en 3D a partir de 2 points et pas que du rayon je n ai pas trouvé.
 
merci

Reply

Marsh Posté le 24-05-2004 à 08:56:27   

Reply

Marsh Posté le 24-05-2004 à 09:06:11    

je dirai transform group avec un vector3f

Reply

Marsh Posté le 24-05-2004 à 09:17:21    

C'est quoi transform group avec un vecteur 3f ?  
en fait j'ai 2 points du cylindre par exemple < 0.165 , -0.021 , 7.019 >, < 0.183 , -0.094 , 9.693 > point en haut et en bas du cylindre et je veux trouver les translations et les angles de rotations suivants x, y et z pour que le cylindre soit penché suivants ces 2 points.

Reply

Marsh Posté le 24-05-2004 à 09:18:18    

merci pour ta réponse de tout à l'heure.

Reply

Marsh Posté le 24-05-2004 à 20:35:32    

donc si j'ai bien compris il faudrait faire une tranformation d'un certain angle puis une translation ?
 
essai de poster le bou de code qui nous intéresses

Reply

Marsh Posté le 24-05-2004 à 20:43:13    

Code :
  1. BranchGroup objRoot = new BranchGroup();
  2. TransformGroup tg = new TransformGroup();
  3. Transform3D transform = new Transform3D(
  4. Vector3f vector = new Vector3f(0.1,0.1,0.1);
  5. transform.setTranslation(vector);
  6. tg.setTransform(transform);
  7. Sphere sphere = new Sphere(0.0078f);
  8. tg.addChild(sphere);
  9. objRoot.addChild(tg);


 
te permet d'effectuer une translation du vecteur "vector"

Reply

Marsh Posté le 24-05-2004 à 21:03:32    

Et en plus de la translation il faudra faire une rotation. Tes 2 points te fournissent une droite ce qui te permettra de déduire une matrice de rotation (Matrix3f) à appliquer au TransformGroup attaché au cylindre.
 
Bref c'est des maths maintenant ;)


Message édité par gm_superstar le 24-05-2004 à 21:11:12

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 24-05-2004 à 21:07:28    

gm_superstar a écrit :

Et en plus de la translation il faudra faire une rotation. Tes 2 points te fournissent une droite ce qui te permettra de déduire une matrice de rotation (Matrix3f) à appliquer TransformGroup attaché au cylindre.
 
Bref c'est des maths maintenant ;)


 
voila.
 
à toi de jouer...

Reply

Marsh Posté le 25-05-2004 à 09:20:28    

c'est justement les maths mon problème, d'apres un point (x1,y1,z1) et un autre (x2,y2,z2) quel est le vecteur translation et les angles de rotations pour passer du cylindre avec le milieu en (0,0,0) à ce cylindre?
 
Si quelqu'un sait résoudre ce problème de math venez a ma rescousse....
 
merci de ta réponse

Reply

Marsh Posté le 25-05-2004 à 09:21:33    

comment je déduis la matrice de rotation avec ces 2 points? et le vecteur translation?  y a une fonction? merci

Reply

Marsh Posté le 25-05-2004 à 09:21:33   

Reply

Marsh Posté le 25-05-2004 à 09:22:09    

ps: pkoi ce pseudo gm-superstar?

Reply

Marsh Posté le 25-05-2004 à 21:18:30    

la suite dans ce topic :
 
http://forum.hardware.fr/hardwaref [...] 1959-1.htm


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed