posté le 31/07/2006 à 16:31Mesurer un angle
posté par : Tiz (invité)
Bonjour,
j'aimerais savoir comment mesurer un angle à partir de coordonnées
exemple j'ai A(0;0) B(10;5); C(2;8)
Combien mesure l'angle ABC ?
merci...
posté le 31/07/2006 à 16:52re : Mesurer un angle
posté par : Tiz (invité)
exemple inventé, mon but est de faire une ligne AB puis de mettre le point C où ABC<= X°
puis le point D ou BCD<= X° etc...
posté le 31/07/2006 à 17:03re : Mesurer un angle
posté par : Tiz (invité)
Mhhh apparament ça doit dépendre aussi du type de repère, j'ai essayé avec un repère orthonormal puis avec un repère où 1x valait 2y, sur papier, et l'angle valait 2 fois plus dans l'orthonormal...
je veux utiliser cela dans la programmation, et dans ce que j'utilise, le repère n'est pas exactement orthonormal mais plutot inversé.
Disons que 0,0 correspond au coin en haut à gauche. x est normal mais y est à l'envers (quand y "descend" sur le graphique, il augmente)... bref, j'obtiens la même valeur d'angle avec ce type de graphique qu'avec un orthonormal
posté le 31/07/2006 à 17:07re : Mesurer un angle
posté par : puisea 
Bonjour, voici une méthode :
tu calcules les coefficients directeurs des droites (AB) et (BC)
je trouve 2 pour (AB) et -8/3 pour (BC)
le coefficient directeur correspond à la distance mesurée sur l'axe des orodnnée pour un décalage de 1 sur l'axe des abscisses. Tu te retrouves donc avec un triangle rectangle sur lequel travailler.
Donc pour avoir l'angle entre la droite et l'axe des abscisses
tu fais la fonction inverse de la tangente sur le coefficient directeur de ta droite.
Pour l'angle entre deux droites, tu fais donc :
En nommant

l'angle, a et b les coeffcients directeurs :
Sauf erreur
posté le 31/07/2006 à 17:18re : Mesurer un angle
posté par : Tiz (invité)
Donc sur mon exemple A(0;0) B(10;5) C(2;8)
AB(10;5) BC(-8;3)
Coef AB: 5/10
Coef BC: - 3/8
Angle°=tan-1(10/5)-tan-1(-3/8)
Angle°= environ 0.82
Heu... 82° ? ou 82% de 360° ? de 180° ?
merci de m'éclairer ^^
posté le 31/07/2006 à 17:24re : Mesurer un angle
posté par : Tiz (invité)
Ok merci plus qu'à savoir si PHP est en degré ou en radians ^^
bon ça devrait aller merci beaucoup

posté le 31/07/2006 à 17:41re : Mesurer un angle
posté par : Tiz (invité)
Donc si on a deux points A(0;0) et B(10;10) et qu'on veut trouver un point C où ABC <= 30° on fait
(atan = tan -1)
|atan ( (yb-ya) / (xb-xa) ) - atan ( (yc - yb) / (xc - xb) )| <= 30
atan ((yc - yb) / (xc - xb)) <= 30 + atan ((yb-ya) / (xb - xa))
(yc-yb) / (xc - xb) <= tan(30) + (yb-ya) / (xb - xa)
je vois plus comment isoler xc et yc là... quelqu'un peut m'aider ?
posté le 31/07/2006 à 17:50re : Mesurer un angle
posté par : puisea 
oula tu te compliques à mon avis
tu as le coef de AB qui fait 1
tu veux donc trouver le coef directeur de BC tel que ABC = 30°
Soit x ce coeff
tu as :
arctan(1)-arctan(x) = 30°
or arctan(1) = 45
tu as donc -arctan(x) = -15°
et donc arctan(x) = 15°
ce qui équivaut à : x = tan(15)
ensuite une fois que tu as le coeff directeur x, tu as ton point C qui est, entre autre possiblités : C(1,x)
@+

posté le 31/07/2006 à 17:54re : Mesurer un angle
posté par : Tiz (invité)
| citation : |
|---|
| tu veux donc trouver le coef directeur de BC tel que ABC = 30° |
Non en fait je veux faire en sorte que le coef de BC <= 30° ^^
posté le 31/07/2006 à 17:56re : Mesurer un angle
posté par : Tiz (invité)
(oups plutot le coef directeur de BC tel que ABC <= 30° désolé)
posté le 31/07/2006 à 18:08re : Mesurer un angle
posté par : Tiz (invité)
Bon je comprends à peu près, mais je suis en prog, donc remplacons tout ça par des variables...
A(x; y) B(x; y)
(Cd = Coefficient directeur)
Cd(AB) = (By-Ay)/(Bx-Ax);
On cherche Cd(BC) pour ABC <= Z
On a
arctan(Cd(AB)) - arctan(Cd(BC)) <= Z
Soit arctan(Cd(BC)) <= arctan(Cd(AB)) - Z
On applique TAN sur les deux cotés de l'inégalité
Cd(BC) <= Cd(Ab) - tan(Z)
Me trompe-je ?
posté le 31/07/2006 à 18:15re : Mesurer un angle
posté par : puisea 
Une petite erreur :
jusque là je suis d'accord : arctan(Cd(BC)) <= arctan(Cd(AB)) - Z
on applique tan des deux côtés mais tu n'as pas le droit de simplifier aussi facilement que ce que tu l'as fait :
Cd(BC) <= tan(arctan(Cd(Ab)) - Z)
et tu mets tout ca en PHP

posté le 31/07/2006 à 18:21re : Mesurer un angle
posté par : Tiz (invité)
(Oui je sais pour atan je l'ai ressorti dans un ou 2 posts juste avant)
Bref de ce coef directeur je fais comment pour en sortir des x et des y aléatoires ? quelles conditions doivent avoir x et y ?
posté le 31/07/2006 à 18:44re : Mesurer un angle
posté par : Tiz (invité)
Bon j'ai du mal comprendre mais je te donne ce que j'ai fait : (tu a l'air de comprendre PHP donc je te file la fonction)
| citation : |
|---|
function find_angle($ax, $ay, $bx, $by, $angle_max) {
$coeff_ab=(($by-$ay)/($bx-$ax));
$coef_bc=tan(atan($coeff_ab) - $angle_max);
$real_coeff=rand(0, $coeff_bc);
$p=rand(0,20);
$cx=rand(0,10);
$cy=$real_coeff * $cx + $p;
echo $cx."/".$cy;
}
|
quand j'utilise la fonction ==> find_angle(1,1,5,1,30);
je suis arrivé sur un résultat de 2 / 15 (x=2; y=15
Or quand on essaye sur papier on voit bien que ABC > 45° (alors qu'il doit être plus petit que 30°)...
posté le 31/07/2006 à 18:45re : Mesurer un angle
posté par :
J-P (Correcteur)
Autrement:
AB² = 10² + 5² = 125
AB = V125 (Avec V pour racine carrée).
AC² = 2² + 8² = 68
AC = V68
BC² = 8² + 3² = 73
BC = V73
Alkashi: AC² = BC² + AB² - 2.BC.AB.cos(ABC)
68 = 73 + 125 - 2.V73.V125.cos(ABC)
2V9125 .cos(ABC) = 130
cos(ABC) = 65/V9125
angle(ABC) = 47,121...°
-----
Sauf distraction.

posté le 31/07/2006 à 18:47re : Mesurer un angle
posté par : Tiz (invité)
Oups petite erreur de variable j'avais oublié un f à $coeff_bc mais j'obtiens 0,15 avec la nouvelle version, je crois pas que ça soit bon mais je teste quand même...
posté le 31/07/2006 à 18:51re : Mesurer un angle
posté par : Tiz (invité)
J-P c'est pas mal mais c'est compliqué et je vois pas comment faire pour trouver le point C quand on a que 2 points et un angle max
(Non en effet ça donne plutot du 65° avec C(0;15))
posté le 31/07/2006 à 18:53re : Mesurer un angle
posté par : Tiz (invité)
Non, puisque on a dit que le coef de BC était <= à l'angle max (pas égal)
posté le 31/07/2006 à 19:00re : Mesurer un angle
posté par : Tiz (invité)
7/10 ce qui donne un angle à 100°
j'ai aussi essayé ça
| citation : |
|---|
function find_angle($ax, $ay, $bx, $by, $angle_max) {
$angle=rand(0,$angle_max);
$coeff_ab=(($by-$ay)/($bx-$ax));
$coeff_bc=tan(atan($coeff_ab) - $angle);
$p=rand(0,20);
$cx=rand(0,10);
$cy=$coeff_bc * $cx + $p;
echo $cx."/".$cy." / Angle : ".$angle;
}
|
en donnant une valeur d'angle aléatoire... marche pas non plus
posté le 31/07/2006 à 19:03re : Mesurer un angle
posté par : Tiz (invité)
find_angle(1,1,5,1,30);
posté le 31/07/2006 à 19:09re : Mesurer un angle
posté par : Tiz (invité)
3/13 un angle a plus de 140°...
mais logique, si xc dépasse xb l'angle va être obtu !
posté le 31/07/2006 à 19:11re : Mesurer un angle
posté par :
J-P (Correcteur)
Tiz,
Je ne vois pas ce qu'il y a de compliqué à utiliser le théorème d'AlKashi.
Bien entendu, si on n'a que les coordonnées de 2 points et la valeur d'un angle cela ne marche pas pour trouver les coordonnées du 3 ème point...
Mais c'est bien normal car un triangle n'est pas déterminé par 2 de ses sommets et la valeur d'un angle et donc ...

posté le 31/07/2006 à 19:11re : Mesurer un angle
posté par : Tiz (invité)
enfin non pas forcément, mais souvent avec les valeurs qu'on prend
posté le 31/07/2006 à 19:16re : Mesurer un angle
posté par : Tiz (invité)
J-p je ne connais pas ce théorème même s'il a l'air intéressant
Bref pour te dire puisea, cx est totalement aléatoire dans ton calcul, or si jamais (avec les arguments de la fonction que tu as choisis), Xc = 3 par exemple Yc devra être forcément négatif
(or une clause que je n'ai peut-être pas dite, dans mon système de coordonnées, X>=0 Y>=0 ^^)
posté le 14/05/2008 à 15:32Angles
posté par : Zouille12
Comment fait on pour calculer un angle alors que l on a aucune mesure d angle donné? j ai que les mesures du triangles:3cm,5cm,et 4cm. merci de m aider!!!!!!!!!!!!!!
posté le 14/05/2008 à 15:41re : Mesurer un angle
posté par :
J-P (Correcteur)
Essaie déjà pour voir si ton triangle n'est pas rectangle.
Pense à Pythagore.
Si le triangle est rectangle, alors tu pourras utiliser les formules que tu as sûrement vues avec les cos et sin pour trouver les autres angles ...
