#1 

09-04-2013 14:52:22

nico
Administrateurs
Avatar de nico
Date d'inscription:
Messages: 563
IP: 82.232.128.163
Courriel

rotation du vehicule ?

coucou, j'utilise bullet physics pour calculer les rotations d'un vehicule et j'aurais besoin de definir la (world)position des passagers

j'utilise ces calculs pour calculer la position 2d autour de l'axe Y
posX = distance * cos(rotationYaw)
posZ = distance * sin(rotationYaw)

mais je ne sais pas comment faire pour calculer la position en 3d ? et je ne sais pas quoi recherché sur google, je ne sais pas comment ces formules se nomment ?
merci pour votre aide.


Hors ligne


#2 

09-04-2013 16:19:12

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 92.146.239.82
Courriel  Site web

pourquoi tu ne fait pas un joint ?
tu rajoute quelques bonnes qui donne la position/rotation des joueurs sur ta carcasse, tu position les joints a leurs endroits respectif et tu joint les bodys

Hors ligne


#3 

09-04-2013 17:34:22

nico
Administrateurs
Avatar de nico
Date d'inscription:
Messages: 563
IP: 82.232.128.163
Courriel

quel type de joint est adéquat ? parceque j'avais essayé avec Generic6DofConstraint vu dans l'exemple du ragdoll mais c'est pas un joint fixe.


Hors ligne


#4 

09-04-2013 17:39:59

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 92.146.239.82
Courriel  Site web

btHingeConstraint devrait suffir
orienter en Y par exemple, et tu donneune transformation identique au depart et a l'arriver

Hors ligne


#5 

09-04-2013 17:46:09

nico
Administrateurs
Avatar de nico
Date d'inscription:
Messages: 563
IP: 82.232.128.163
Courriel

ok merci jvais tester ce soir smile


Hors ligne


#6 

09-04-2013 20:31:38

Gehogor
Membres
Avatar de Gehogor
Date d'inscription:
Messages: 130
IP: 93.1.224.45
Courriel

Salut,
Je ne sais pas si j'ai bien compris, mais pour calculer une position spatiale (3 translations + 3 rotations), le top c'est d’utiliser les matrices de passages. Elles te permettent de calculer n'importe quelles positions par rapport à n'importe quoi !

Un lien : http://en.wikipedia.org/wiki/Transformation_matrix

Si c'est bien ce que tu veux, je peux te filer un coup de main...
En gros,
Mp = matrice du passager dans le monde.
Mv = matrice du véhicule dans le monde.
Mx = matrice du passager par rapport au véhicule.

  • ---> Mp = Mv*Mx, mais bon, vu les liens que tu viens de poster, tu dois le savoir depuis déjà longtemps ! oups, désolé...


Et hop... wink

Hors ligne


#7 

09-04-2013 21:36:14

nico
Administrateurs
Avatar de nico
Date d'inscription:
Messages: 563
IP: 82.232.128.163
Courriel

salut Gehogor,
merci pour l'info. je pense que ce serait l'ideal puisque a la base je récupère une matrice via bullet, cependant j'avoue ne pas comprendre grand chose à la manière de proceder, sait tu comment faire ? j'ai une matrice 4x4 representant le vehicule je souhaite donc calculer la position xyz des sieges. pour les rotations suffit de recopier celles du vehicule, seul la position varie.


Hors ligne


#8 

10-04-2013 00:22:57

nico
Administrateurs
Avatar de nico
Date d'inscription:
Messages: 563
IP: 82.232.128.163
Courriel

omg Gehogor, j'avais pas vu que t'avait edité, vu comme ça c'est tellement simple tongue
j'ai donc fait:
glLoadIdentity()
glMultMatrix(vehicule)
glMultMatrix(passager)
et je recupere la matrice modelview
merci smile


Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
152 invités en ligne
membre en ligne: -
RSS Feed