Po pierwsze i przede wszystkim pozwól mi powiedzieć, że jestem absolutnie okropny z matematyki, proszę, znieść mnie.Próba obliczenia kąta między dwoma punktami na okręgu?
Próbuję obliczyć kąt między dwoma punktami na okręgu, a dwa punkty to odległość, którą użytkownik przeciągnął w określonym czasie.
To, co mam tak daleko:
intervalId = setInterval(function(){
if(p1x != undefined){
p2x = Xpos;
}
if(p1y != undefined){
p2y = Ypos;
}
if(p1x != p2x || p1y != p2y){
p1a = p1x - wheelMiddleVer;
p1b = p1y - wheelMiddleHor;
a = Math.sqrt((p1a * p1a) + (p1b * p1b));
p2a = p2x - wheelMiddleVer;
p2b = p2y - wheelMiddleHor;
b = Math.sqrt((p2a * p2a) + (p2b * p2b));
u = p1x - p2x;
v = p1y - p2y;
c = Math.sqrt((u * u) + (v * v));
}
p1x = Xpos;
p1y = Ypos;
}, 1000);
Nie jestem pewien, jak go zakończyć. Próbowałem użyć formuły cos A = (b^2 + c^2 - a^2)/2bc, ale nie wyszło mi to na dobre. Będę wdzięczny za twój wkład w tej sprawie. Jeśli mogę zadać jaśniejsze pytanie, daj mi znać.
kąt pomiędzy dwoma 'lines' nie między dwoma' points' –
var v = Math.abs (Math.atan2 (p1y-wheelMiddleVer, p1x- wheelMiddleHor) - Math.atan2 (p2y-wheelMiddleVer, p2x-wheelMiddleHor)); –
Edytowałem mój komentarz kilka razy, teraz myślę, że jest poprawny –