Я пытаюсь вычислить угол, основанный на сторонах треугольника, предпочтительно с sin. Первые 2 являются вспомогательными функциями getDistance
и getPointsDifference
Рассчитать угол треугольника с sin или cos
У меня есть эти функции:
var getDistance = function(p1, p2){
var dx = p1.x - p2.x, dy = p1.y - p2.y;
return Math.sqrt(dx*dx + dy*dy);
}
var getPointsDifference = function(p1, p2){
return {
x: -1 * (p1.x - p2.x),
y: (p1.y - p2.y)
}
}
и, наконец:
var getMenuChoice = function(cx,cy, x, y){
var distance = getDistance({x:cx,y:cy}, {x:x,y:y});
if (distance <= 100) {
console.log(1)
} else {
console.log(2)
}
var diff = getPointsDifference({x:cx,y:cy}, {x:x,y:y});
var a = Math.sin(diff.y/distance)
console.log("asdf:", a)
}
Может кто-то пожалуйста, покажите мне, что я делаю неправильно? Я хотел бы вычислить результат в градусах.
обновление
я обнаруживаю облизывание на экране, который дает мне топор, у, а потом вычесть те х, у из сх и су, которые являются центром экрана
Как вы определяете треугольник? По его вершинам? – Cheery
проверить обновленный вопрос – Syd
В вашем коде нет треугольника, только две точки, треугольник содержит три точки ... – Teemu