Получить X и Y точки поворота на определенное расстояние от другой точки - PullRequest
3 голосов
/ 16 декабря 2010

Я нашел только несколько решений поиска, и они либо для конкретного языка, либо слишком сложны. Мне просто нужно получить точку на расстоянии n от другой точки, повернутой на величину n. Я использую это для проекта на холсте HTML5. Я знаю, что есть функция поворота, но я работаю с путями, и я не верю, что это работает с ней. В любом случае, я бы просто хотел получить формулу, в которой я мог бы указать x, y, расстояние и направление.

Ответы [ 2 ]

4 голосов
/ 16 декабря 2010
newx = distance * Math.cos(direction) + x
newy = distance * Math.sin(direction) + y
0 голосов
/ 16 декабря 2010

Рассчитав синус и косинус угла, вы можете получить точку на единицу от начала координат при данном повороте.Просто умножьте координаты на любое расстояние, которое вам нужно.Косинус соответствует X, а синус соответствует Y.

Другими словами:

  • Определите угол.
  • Рассчитайте X, получив косинус угла.
  • Рассчитайте Y, получив синус угла.
  • Умножьте X и Y на расстояние.
  • Сместите X и Y на вашу "исходную" точку.
...