Задать вопрос
@vaselekk

Почему обьект неправильно поворачиваеться?

https://codepen.io/vasilij-shinkorenko/pen/PozVgZw

На 104 строки я попытался с поимошью аналетической геометрии, темы сколярное произведение высчитать синус угла вот формула с картинкой в 5fe8bedd4672f298258585.png
в качестве x и y - у меня позиция точки
я нашел косинус потом с него arccos и радианы перевел в градусы

Но сanvas мне показывает неправильный градус, подскажите где ошибка?
  • Вопрос задан
  • 38 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Skillbox
    Разработчик игр на Unity с нуля
    3 месяца
    Далее
  • OTUS
    Android Developer
    10 месяцев
    Далее
Решения вопроса 1
@alexalexes
Потому, что у вас даны координаты точек в objectc, а не векторные точки от начала координат.
Чтобы вычислить косинус, а следовательно - угол, нужно брать смещения по X и по Y (deltaX и deltaY) между двумя точками и уже на основе этого смещения вычислять угол.
var deltaX = objectc[test_prohloe][1] - objectc[key][1];
var deltaY = objectc[test_prohloe][0] - objectc[key][0];
var llength = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
if(llength > 0) // - проверка, что есть различие между точками и есть смысл вычислять новый поворот.
{
var cosin =  deltaX / llength; 

console.log(cosin);

var gradus = Math.acos(cosin);
ctx.rotate(gradus); // rotate square in radians
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы