#0 

09-04-2013 16:52:22

nico
Webmaster
Date d'inscription: 07-08-2009
Messages: 563
Corrections: 9

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


#1 

09-04-2013 18:19:12

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 897
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


#2 

09-04-2013 19:34:22

nico
Webmaster
Date d'inscription: 07-08-2009
Messages: 563
Corrections: 9

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


#3 

09-04-2013 19:39:59

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 897
Site web

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

Hors ligne


#4 

09-04-2013 19:46:09

nico
Webmaster
Date d'inscription: 07-08-2009
Messages: 563
Corrections: 9

ok merci jvais tester ce soir smile

Hors ligne


#5 

09-04-2013 22:31:38

Gehogor
Abonné
Lieu: Paris
Date d'inscription: 02-06-2009
Messages: 130
Corrections: 7

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é...

Dernière modification par Gehogor (09-04-2013 23:17:49)


Et hop... wink

Hors ligne


#6 

09-04-2013 23:36:14

nico
Webmaster
Date d'inscription: 07-08-2009
Messages: 563
Corrections: 9

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


#7 

10-04-2013 02:22:57

nico
Webmaster
Date d'inscription: 07-08-2009
Messages: 563
Corrections: 9

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é
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
Analysé par
872 membres
1421 sujets
11099 messages
Dernier membre inscrit: Glider
3 invités en ligne
Aucun membre connecté
RSS Feed