Mise en situation :
Le Vecteur AB suivant :
forme un angle :
Les Fonctions :
Pour connaitre l’angle d’un Vecteur on utilise la fonction atan2 — Wikipédia (wikipedia.org)
Attention ! Comme nous l’avons vu dans le Chapitre sur les Angles, les fonctions renvois des angles en Radian !
La Fonction math.angle() en Code (Pythagore) :
function math.angle(x1,y1, x2,y2) return math.atan2(y2-y1, x2-x1) end
Démonstration :
function math.angle(x1,y1, x2,y2) return math.atan2(y2-y1, x2-x1) end local A = {x=3, y=2} local B = {x=10, y=5} local AB = {} AB.vector = {} AB.vector.x = B.x - A.x AB.vector.y = B.y - A.y AB.angleRadian = math.angle(A.x,A.y, B.x,B.y) AB.angleDegre = math.deg(AB.angleRadian) print("Le vecteur AB dispose des valeurs suivantes :") print("AB vector x = "..AB.vector.x) print("AB vector y = "..AB.vector.y) print("angle radian = "..AB.angleRadian) print("angle degre = "..AB.angleDegre)
sortie console :
function math.angle(x1,y1, x2,y2) return math.atan2(y2-y1, x2-x1) end
local A = {x=3, y=2}
local B = {x=10, y=5}
local AB = {}
AB.vector = {}
AB.vector.x = B.x - A.x
AB.vector.y = B.y - A.y
AB.angleRadian = math.angle(A.x,A.y, B.x,B.y)
AB.angleDegre = math.deg(AB.angleRadian)
print("Le vecteur AB dispose des valeurs suivantes :")
print("AB vector x = "..AB.vector.x)
print("AB vector y = "..AB.vector.y)
print("angle radian = "..AB.angleRadian)
print("angle degre = "..AB.angleDegre)
Connaitre la distance parcourue, quand on connait la position des points A et B ?
La Fonction math.dist() en Code :
function math.dist(x1,y1, x2,y2) return ((x2-x1)^2+(y2-y1)^2)^0.5 end
Démonstration :
function math.dist(x1,y1, x2,y2) return ((x2-x1)^2+(y2-y1)^2)^0.5 end local A = {x=3, y=2} local B = {x=10, y=5} local distance = math.dist(A.x,A.y, B.x,B.y) print("distance parcourue de "..distance.." pixels.")
sortie console :
distance parcourue de 7.6157731058639 pixels.