Bonjour ,
Je suis actuellement en stage en programmation informatique.
Je recherche une formule permettant de calculer les coordonnees de l'image d'un sommet d'un vecteur par la rotation de centre l'autre sommet.
Pouvez vous m'aider ?
Bonjour h3dg3hog!
Tu travailles dans le plan ou dans l'espace?
Multiplier par une matrice de rotation normalement doit faire l'affaire, quitte à faire une translation avant et une translation après.
Isis
Euh ...
Je travaille dans le plan.
En fait , je dois calculer les coordonnees d'un point appartenant a une droite apres rotation. Je conais les coordonnees du point d'origine ( avant la rotation ), la longueur de la droite ( rayon du cercle de rotation ) ainsi que l'angle.
N'y a t il pas une methode plus simple pour calculer ces coordonnees ?
Voilà la matrice de rotation d'angle autour de l'origine:
Tu as donc
Si tu veux tourner autour d'un autre point que l'origine tu fais la translation envoyant le centre sur l'origine, la rotation et la translation inverse qui envoye l'origine sur le centre de la rotation.
Je ne connais rien de plus simple.
Isis
Euh ... En fait , je ne sais plus comment on resoud une matrice :s ( pourtant ca date que deux ans ).
Bonjour h3dg3hog,
En fait, il te suffit de "traduire" la matrice dans le système d'eq suivant :
x'=xcos(theta) + ysin(theta)
y'=-xsin(theta) + ycos(theta)
bon courage
Philoux
J'ai encore une idée. Si tu ne veux tourner que des droites, tu peux penser au coefficient directeur. Par exemple si la droite est y=mx on a avec l'angle formé entre la droite et l'axe des x. Si on la tourne de autour de l'origine cette droite devient .
Si la droite est y=mx+h et tu veux tourner autour du point (0,h), ça marche pareil et l'image est . (J'ai utilisé les translations (0,-h) avant la rotation et (0,+h) après la rotation.)
Parcontre si tu veux tourner la droite autour d'un point quelconque de la droite tu as toujours et il faut choisir h pour que la droite passe par le point de rotation.
Isis
>Isis
Bonjour,
S'il ne veut que le sommet du vecteur, ta première méthode est la plus rapide,
la seconde reviendra à calculer x' et y' par qqchose de similaire à la première.
Qu'en penses-tu ?
Philoux,)
Je n'en sais rien, philoux. Peut-être qu'il cherche le sommet du vecteur dans le but de décrire l'image de la droite. J'expose mes idées, il en fait ce qu'il veut.
Isis
Je vous explique ce que je cree , ca vous aidera peut etre !
Je realise une fonction de creation de diagramme circulaire. Il genere chaque secteur et les affiche. Ensuite je dois afficher le nom de chaque secteur a cote , c'est pourquoi j'ai besoin des coordonnees de la droite de depart du secteur ( si vous comprenez ce que je veux dire ... ).
Je parle de secteurs ( parties du diagramme ) car je realise une fonction graphique.
Mais c'etait juste une indication.
Ok , mais ton post initial parlait de Vecteur, d'où la qst;
Après tout dépend de ton process de génération de Secteur :
- soit tu peux le tracer à partir de l'angle, auquel cas la deuxième méthode d'Isis est plus rapide,
- soit tu le tece avec le Vecteur, auquel cas x'ety' par la première méthode sont les plus adéquats,
c'est toi qui peut répondre...
Philoux
passe par les complexes M' d'affixe z' image de M d'affixe z
l'expression d'une rotation de centre A d'affixe a et d'angle b est
z'-za = (z-za)e^ib
si ton centre est l'origine alors za=0 donc
z'= ze^ib
>aicko
Il recherche des infos adaptables à de la programmation informatique
J'ai peur que les complexes ne soient ...trop complexes
Philoux
C'est pas une mauvaise idée ce que propose aicko, mais comme dit bien philoux, suivant les outils informatiques dont dispose h3dg3hog, ce ne sera pas forcément très pratique. Et si on adapte cette méthode aux réels on retombe sur la multiplication par la matrice de rotation. Tout ça dépend des moyens informatiques disponibles...
Isis
J'y avais pense mais je crois que les complexes ne sont pas geres pas le langage que j'utilise ...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :