Vecteur/Angles/3D

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
LordFinn
Messages: 8
Enregistré le: 09 Mar 2016, 15:43

Vecteur/Angles/3D

par LordFinn » 09 Mar 2016, 16:53

Bonjour,

je viens vous exposer un problème que je dois résoudre dans le cadre d'un projet personnel.
Il est le suivant :

Soit un repère orthonormé (O,i,j,k). On définit un vecteur OA de norme N avec A(X,Y,Z). Les coordonnés du point A sont des variables. On définit un second vecteur OB de norme 1 avec B(0,1,0).

Mon but est de trouver les rotations axiales à effectuer sur le vecteur OB pour que OB et OA soient colinéaires. Le point d'application reste inchangé.

Apres plusieurs heures de recherche, je désespère. Apres de multiples dessins, calculs, résultats, problématisations... j'en reviens à la meme conclusion : C'est faux.

J'ai tout de même une base de réflexion qui reste inchangée :

On a :
cos a = (XaXb+YaYb+ZaZb) / sqrt((Xa²+Ya²+Za²)(Xb²+Yb²+Zb² )) = (0*X+1*Y+0*Z) / sqrt((Xa²+Ya²+Za²)(0²+1²+0² ))=Y/ sqrt(Xa²+Ya²+Za²) = Y/N

J'obtiens donc l'angle entre le vecteur AB et OB. Cependant celui ci ne s'inscrit pas sur un plan et il me faut obligatoirement des rotations axiales en sortit de mon algorithme(Pour l'algo je m'en occupe ;) ).

Calculer les angles à effectuer, ça va encore. J'ai réussis en appliquant la meme methode que précédement décrite à trouver les angles.

Sur x : arccosY/N
Sur y : arccosZ/N

Avec ces deux rotations je dois normalement retomber sur mon vecteur AB. Cependant peut être qu'il y a une erreur à ce niveau là. Si il n'y en a pas ce n'est qu'après alors que les ennuis commence. Je ne vois absolument pas comment déterminer les sens de rotation de mon vecteur. (Ici le sens positif de rotation sera le sens horaire).

J'attend votre aide avec impatience et vous remercie d'avance !



Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

Re: Vecteur/Angles/3D

par Ben314 » 09 Mar 2016, 17:51

ERREUR...
Modifié en dernier par Ben314 le 09 Mar 2016, 18:25, modifié 2 fois.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

Re: Vecteur/Angles/3D

par chan79 » 09 Mar 2016, 18:04

LordFinn a écrit:Mon but est de trouver les rotations axiales à effectuer sur le vecteur OB pour que OB et OA soient colinéaires. Le point d'application reste inchangé.


salut
Tu as des conditions sur les axes ?
Si c'est pour une seule rotation qui transforme B en A' avec et , c'est assez simple en prenant comme axe une droite dirigée par un produit vectoriel.

LordFinn
Messages: 8
Enregistré le: 09 Mar 2016, 15:43

Re: Vecteur/Angles/3D

par LordFinn » 09 Mar 2016, 18:14

chan79 a écrit:Tu as des conditions sur les axes ?

Le repère ne peut être changé par rapport à mon utilisation final. Le vecteur OB est colinéaire au vecteur directionnel de l'axe y. De plus il me faut des rotations sur les différents axes et non un seul.

LordFinn
Messages: 8
Enregistré le: 09 Mar 2016, 15:43

Re: Vecteur/Angles/3D

par LordFinn » 09 Mar 2016, 18:25

Ben314 a écrit:Salut,
Déjà, pour voir si je comprend bien, tu cherche les axes (donc les vecteurs directeurs des l'axes) et les angles des différentes rotations vectorielles de qui envoient le vecteur (de norme 1) sur (de norme 1 lui aussi).
C'est bien ça ?


Il me faudrait une méthode pour calculer les différentes rotations à effectuer à mon vecteur OB pour qu'il devienne colinéaire à OA. Ces rotations ne pouvant s'effectuer que sur des plans, et donc autour des axes. Le vecteur OA n'est pas de norme 1 mais le vecteur OB si. Le vecteur OA est quelconque et ses composantes seront à définir par l'utilisateur de l'algorithme.

En cherchant, je me suis aperçu que deux rotations devraient suffire normalement.

LordFinn
Messages: 8
Enregistré le: 09 Mar 2016, 15:43

Re: Vecteur/Angles/3D

par LordFinn » 09 Mar 2016, 18:42

Pour ce qui est des quaternions, je ne sais pas comment les utiliser... est ce compliqué à comprendre ?

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

Re: Vecteur/Angles/3D

par Ben314 » 09 Mar 2016, 19:07

Si la rotation d'axe orienté dirigée par (non nul) et d'angle envoie le vecteur unitaire sur le vecteur unitaire (supposé distinct de ), alors
1) Le vecteur doit être dans le plan médiateur des vecteurs et , c'est à dire tel que (équation cartésienne du plan médiateur), soit encore, en supposant que , tel que (équation paramétriques du plan médiateur).

2) Une fois choisi, l'angle va être tel que (qui se simplifie un peu si on rend unitaire) et (le signe du déterminant suffit pour en déduire le signe du sinus et donc la valeur de dont on connait déjà le cosinus).
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

LordFinn
Messages: 8
Enregistré le: 09 Mar 2016, 15:43

Re: Vecteur/Angles/3D

par LordFinn » 09 Mar 2016, 20:00

J'avoue etre perdu dans cette explication. Je ne pense pas que cela est de mon niveau. Beaucoup de notations et de termes m'échappent.

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

Re: Vecteur/Angles/3D

par chan79 » 09 Mar 2016, 20:47

LordFinn a écrit:
chan79 a écrit:Tu as des conditions sur les axes ?

Le repère ne peut être changé par rapport à mon utilisation final. Le vecteur OB est colinéaire au vecteur directionnel de l'axe y. De plus il me faut des rotations sur les différents axes et non un seul.

Essai avec un exemple
B(0;1;0)
A(3;4;5)
On pose A'(3,4,0)
on fait d'abord une rotation d'axe oz
Pour préciser l'orientation de l'axe, on cherche le produit vectoriel
On trouve
le cosinus de l'angle est (on divise le produit scalaire par le produit des normes)
L'axe étant orienté par , l'angle est arccos(0.8)
Ensuite la seconde rotation:
L'axe est orienté par soit par le vecteur (20,-15,0).
L'axe est contenu dans le plan xoy et est dirigé par (4,-3,0).
Son angle est
Il y a d'autres rotations possibles

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

Re: Vecteur/Angles/3D

par Ben314 » 09 Mar 2016, 21:44

LordFinn a écrit:J'avoue etre perdu dans cette explication. Je ne pense pas que cela est de mon niveau. Beaucoup de notations et de termes m'échappent.
Je peut tout a fait te le transcrire en programme, c'est des calculs "bêtes comme choux" de produit scalaire, déterminant et produit vectoriel, mais pour que je sache comment te le traduire en entier, il faudrait que je sache comment le programme va choisir le vecteur (i.e. l'axe de la rotation) parmi les différents vecteurs du plan médiateur.
Évidement, on peut restreindre le choix à des vecteurs unitaire, mais ça fait tout un cercle du plan médiateur donc encore une infinité de possibilités...
A la limite, le programme peut renvoyer l'équation du plan (et/ou du cercle) puis l'utilisateur devra choisir un vecteur de ce plan (ou de ce cercle) là.
Enfin, bref tout est possible (et assez facilement), mais il faudrait que je sache quelle va être la logique concernant le choix de pour te donner l'algo. explicite.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

LordFinn
Messages: 8
Enregistré le: 09 Mar 2016, 15:43

Re: Vecteur/Angles/3D

par LordFinn » 09 Mar 2016, 22:12

Peut importe le chemin empreinté pour parvenir à la colinéarité des vecteurs. On pourrait définir le premier axe de rotation sur l'axe des x puis sur l'axe des y. Ainsi ou aurait deux vecteurs unitaires près inscrit dans le programme avec : (1,0,0) et (0,1,0). Il ce peut que je n'ai pas bien compris votre question dans ce cas la je m'en excuse :rouge: .

Pour ce qui est de l'algorithme j'avais commencé ceci :

Variables : x,y,z,x',y',z',a,b,c,n

Debut algorithme :
"Veuillez entrer les coordonnées du premier point"
Lire x
Lire y
Lire z
"Veuillez entrer les coordonnées du second point"
Lire x'
Lire y'
Lire z'

x prend la valeur x'-x
y prend la valeur y'-y
z prend la valeur z'-z //Comme ça on a les composantes du vecteurs OA

n prend la valeur : sqrt((x)²(b)²(z)²) //Cela nous permet d'avoir la norme de OA

//Ici il faudrait calculer les 2 rotations à effectuer pour qu'un vecteur OB(0,1,0) devienne colinéaire avec celui rentré par l'utilisateur.

Afficher AngleZ //Si ce sont deux autres angles qui sont affiché mais que le résultat est le même alors c'est bon ;)
Afficher AngleY

Fin algorithme

J'ai réalisé d'autres calculs dans mon algorithme mais ils ne sont pas utiles pour ce sur quoi je bloque (i.e. Les rotations) du coup je ne les aient pas mit.

Encore merci pour votre aide !

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

Re: Vecteur/Angles/3D

par Ben314 » 09 Mar 2016, 22:14

Si la rotation d'axe orienté dirigée par (non nul) et d'angle envoie le vecteur unitaire sur le vecteur unitaire (supposé distinct de )
Donc en terme de programmation, le premier truc à calculer, c'est puis ; ; avec si tu veut qu'à la fin l'image de par la rotation soit colinéaire et de même sens que ou bien si tu veut que l'image de soit de sens opposé à (à toi de voir comment tu choisi : au hasard ? en demandant à l'utilisateur ? autre solution ?)

1) Le vecteur doit être dans le plan médiateur des vecteurs et , c'est à dire tel que
Cela signifie que les coordonnées du vecteur doivent vérifier l'équation .
Arrivé à ce stade, ont déjà été calculés, mais il y a des tonnes de solution à cette équation et je ne sait pas comment tu compte choisir la solution avec laquelle tu compte continuer les calculs...

2) Une fois choisi, l'angle va être tel que (qui se simplifie un peu si on rend unitaire)
si on a choisi le vecteur unitaire

(qui est égal à vu que la formule est vérifiée.)

et
Modifié en dernier par Ben314 le 09 Mar 2016, 23:02, modifié 2 fois.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

Re: Vecteur/Angles/3D

par Ben314 » 09 Mar 2016, 22:16

LordFinn a écrit:Il ce peut que je n'ai pas bien compris votre question dans ce cas la je m'en excuse
La question me semble pourtant on ne peut plus simple : il y a une infinité d'axes possible : comment choisi tu l'axe ?
LordFinn a écrit://Ici il faudrait calculer les 2 rotations à effectuer pour qu'un vecteur OB(0,1,0) devienne colinéaire avec celui rentré par l'utilisateur.
On ne peut rien "calculer" vu qu'il y a une infinité de solution au problème.
Si on te demandais de "calculer" x et y tels que y=2x+5, tu ferais quoi ?
Idem en géométrie : tu connait deux points A et B et on te demande de "calculer" un point équidistant de A et B, tu fait quoi ? (encore que là, parmi l'infinité des solutions il y en a une plus "remarquable" que les autres...)
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

LordFinn
Messages: 8
Enregistré le: 09 Mar 2016, 15:43

Re: Vecteur/Angles/3D

par LordFinn » 10 Mar 2016, 13:34

chan79 a écrit:Pour préciser l'orientation de l'axe, on cherche le produit vectoriel
On trouve

Peux tu préciser cette étape. En quoi calculer un produit vectoriel influe sur le sens de rotation ? Quelles sont les autres possibilités ? Si j'ai bien compris si on obtient on aura une rotation horaire et donc positive, cependant si on obtient on aura une rotation antihoiraire et donc negative.

chan79 a écrit:L'axe étant orienté par , l'angle est arccos(0.8)

Que faut il faire si l'axe est orienté par un produit vectoriel positif ?


chan79 a écrit:L'axe est contenu dans le plan xoy et est dirigé par (4,-3,0).
Son angle est


Coment est choisi le sens de rotation de l'angle ?


A la sortit on obtient deux angles sur les axes z et y si j'ai bien compris. Cependant en sortit de arccos on obtient toujours des angles positif. Ainsi je voudrais savoir comment puis-je savoir si la rotation appliqué au vecteur est positif (sens horaire dans mon cas) ou negatif (sens trigonometrique) ? Si vous pouvez m'éclairer si ces diverses point je vous en serais tres reconnaissant.

Merci pour l'aide !

Ps : Je suis en terminal S. Cependant nous n'avons pas encore fait le chapitre sur les vecteur, ainsi pas mal de notatations m'échappe.

Avatar de l’utilisateur
chan79
Membre Légendaire
Messages: 10330
Enregistré le: 04 Mar 2007, 19:39

Re: Vecteur/Angles/3D

par chan79 » 10 Mar 2016, 15:42

Pour comprendre les rotations dans l'espace, ce serait mieux de connaître le produit vectoriel.
Sur le dessin ci-dessous, on effectue d'abord une rotation d'axe oz (dirigé vers le bas) et d'angle (en vert) égal à arcos(0.8) soit environ 36,8°. Le point B est transformé en B'.
Puis on fait la rotation d'axe (OX) dirigé par le vecteur et d'angle (bleu) de 45°. Cet axe est inclus dans le plan xOy. Le point X a comme coordonnées: (4,-3,0)
Faire une recherche sur la règle de la main droite ou du tire bouchon de Maxwell.
B' est transformé en C et O, A et C sont alignés.
Image

Bien-sûr, on pourrait choisir d'autres rotations.

LordFinn
Messages: 8
Enregistré le: 09 Mar 2016, 15:43

Re: Vecteur/Angles/3D

par LordFinn » 11 Mar 2016, 18:01

Merci à tous pour vos conseils !

Apres de multiples recherches et l'aide de mes professeurs de Physique/Mathématiques et d'amis je me suis finalement tourné vers une toute autre vision de la question. Pour étudier les rotations d'un point ( et non plus d'un vecteur) dans l'espace je me suis aventuré dans les coordonnées sphériques. Ainsi après plusieurs recherches et avec l'aide de diverses sites anglophone/français j'ai réussi à trouver mon bonheur. Je vais réaliser l'algorithme ce WeekEnd et vous ferrais part du résultat final.

Pour ceux que ça intéresse voici quelques liens utiles :

http://mathworld.wolfram.com/SphericalCoordinates.html
http://www.sciences.univ-nantes.fr/site ... riques.php
http://keisan.casio.com/exec/system/1359533867

Encore merci pour m'avoir conféré de votre temps ;)

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 30 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite