Bonjour,
Je pensais qu'il était simple de construire des formes avec des sphères et de cylindres dans GEM, mais je butte sur un problème de positionnement dans l'espace 3D. Un truc tout bête : je place deux sphères à des positions en (x y z) et je veux placer un cylindre qui commence et se termine par ces deux sphères (les extrémités du cylindre débouchent sur les sphères). Mon programme joint est le suivant :
[img][/img]
Je n'ai pas réussi, à partir des coordonnées des deux points, à valoriser les valeurs du [translate] et du [rotate] de mon cylindre pour le placer précisément dans le segment compris entre les deux sphères.
J'ai testé sans succès [3dPanTilt] de la bibliothèque mtl… Pourriez-vous m'aider ?
Hors ligne
Quelque chose qui pourrait te convenir en pièce jointe.
D'ailleurs, si tu as des soucis avec un patch, mieux vaut le mettre en pièce jointe plutôt que de faire une capture d'écran, c'est beaucoup plus rapide pour toi et pour ceux qui t'aident !
Hors ligne
Merci dwan de ta réponse.
Je pensais avoir joint mon patch, mais j'ai du faire une mauvaise manip… Désolé.
Ton patch fonctionne effectivement, mais le problème est que mes deux points sont indépendants : il viennent de positions de capteurs. La conversion en position/rotation du cylindre me semble donc un peu plus compliquée. Comment, à partir des positions des deux points obtenir la position du cylindre dans l'espace 3D GEM ?
(Je joins mon patch cette fois.)
Hors ligne
va falloir faire un peu de maths :
- calculer la distance entre tes deux points A et B (3dDistance)
- calculer où se trouve le milieu M du segment AB
- placer le cylindre au point M
- faire correspondre la longueur du cylindre à la longueur de AB
- tourner le cylindre autour de son centre pour se rabouter aux spères (voir 3dPanTilt dans mtl)
Hors ligne
Oui, merci. Cette fois, cela fonctionne.
Je mets le patch finalisé pour ceux que ça intéresse.
Hors ligne
cool !
Hors ligne
Pages: 1