Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > Physique
Physique Forum d'entraide sur les algorithmes et moteurs physiques (ODE, Newton...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 05/03/2012, 20h41   #1
izissie
Candidat au titre de Membre du Club
 
izissise
Inscription : mai 2010
Messages : 43
Détails du profil
Informations personnelles :
Nom : izissise

Informations forums :
Inscription : mai 2010
Messages : 43
Points : 12
Points : 12
Par défaut Rotation autour d'un point en 3D

Bonjour,

Je cherche la formule qui pourrait faire tourner une matrice autour d'un point en 3d. Mais après moult recherche je n'ai rien de trouver de concluant. Il me faudrait une fonction du type void rotate_around_point(float angle_longitude ,float angle_latitude ,float x, float y, float z);
Si quelqu'un pouvait m'aider
izissie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2012, 08h14   #2
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 437
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2008
Messages : 10 437
Points : 40 246
Points : 40 246
Bonjour,

Avez vous regardé dans la FAQ Mathématique -> http://jeux.developpez.com/faq/math/...ransformations et plus précisément -> http://jeux.developpez.com/faq/math/...formations#Q38
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2012, 12h10   #3
izissie
Candidat au titre de Membre du Club
 
izissise
Inscription : mai 2010
Messages : 43
Détails du profil
Informations personnelles :
Nom : izissise

Informations forums :
Inscription : mai 2010
Messages : 43
Points : 12
Points : 12
Oui, j'ai lu la faq mais elle explique uniquement comment faire tourner un objet sur lui même et pas autour d'un point.
Par exemple en 2d sa donnerait:
Soit un point x1,y1 (le centre)
Soit un point x2,y2 (le point en rotation autour de l'autre)
X l'angle de rotation.
Soit d1 la distance entre l'objet et le centre de rotation

d1 = sqrt( (x1-x2)² + (y1-y2)²)

x2 = d1 * cos(X) + x1
y2 = d1 * sin(X) + y1

Voila comment je peut faire ça en 3d ?
izissie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2012, 12h44   #4
plegat
Expert Confirmé Sénior
 
Jean-Michel BORLOT
Fabricant et casseur d'avions
Inscription : avril 2004
Messages : 3 215
Détails du profil
Informations personnelles :
Nom : Jean-Michel BORLOT
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Fabricant et casseur d'avions
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : avril 2004
Messages : 3 215
Points : 5 378
Points : 5 378
Salut

Citation:
Envoyé par izissie Voir le message
Voila comment je peut faire ça en 3d ?
En rajoutant une dimension. Et donc en comprenant qu'une rotation autour d'un point en 3D n'a aucun sens. Par contre, une rotation autour d'un axe, oui, et on revient aux liens que t'a précédemment donné LittleWhite.
__________________
"Errare humanum est, sed perseverare diabolicum"

Ma page sur DVP.com
plegat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2012, 15h32   #5
izissie
Candidat au titre de Membre du Club
 
izissise
Inscription : mai 2010
Messages : 43
Détails du profil
Informations personnelles :
Nom : izissise

Informations forums :
Inscription : mai 2010
Messages : 43
Points : 12
Points : 12
C'est donc impossible ?

Car en implanter le code de la faq j’obtiens des objets qui tourne sur eux même et non autour d'un autre.

Edit: Non enfaite c'est bon en inversant l'ordre de multiplication des matrice ça marche parfaitement Merci a vous

Par contre est t'il possible de changer la position de l'axe pour qu'il ne soit pas forcement a l'origine ?
izissie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2012, 23h08   #6
plegat
Expert Confirmé Sénior
 
Jean-Michel BORLOT
Fabricant et casseur d'avions
Inscription : avril 2004
Messages : 3 215
Détails du profil
Informations personnelles :
Nom : Jean-Michel BORLOT
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Fabricant et casseur d'avions
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : avril 2004
Messages : 3 215
Points : 5 378
Points : 5 378
Citation:
Envoyé par izissie Voir le message
Par contre est t'il possible de changer la position de l'axe pour qu'il ne soit pas forcement a l'origine ?
Pas avec une matrice 3x3... avec une matrice 4x4 oui. Tu combines avec une translation, et son opposée, et ça roule. En gros, tu calcules une matrice T.R.T^-1 (ou T^-1.R.T, je ne sais jamais), où R est ta matrice de rotation, et T est la matrice de translation pour amener ton axe de rotation à l'origine

Voir les liens de LittleWhite pour avoir la tête d'une matrice de translation 4x4
__________________
"Errare humanum est, sed perseverare diabolicum"

Ma page sur DVP.com
plegat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2012, 14h55   #7
izissie
Candidat au titre de Membre du Club
 
izissise
Inscription : mai 2010
Messages : 43
Détails du profil
Informations personnelles :
Nom : izissise

Informations forums :
Inscription : mai 2010
Messages : 43
Points : 12
Points : 12
Merci a vous jai finalement reussi !
izissie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h37.


 
 
 
 
Partenaires

Hébergement Web