Найти углы повернутого прямоугольника - PullRequest
1 голос
/ 26 февраля 2012

Я пытаюсь изменить размер повернутого прямоугольника, вы просто перетаскиваете изображение (или в) из 1 угла, и диагональ угла этого 1 останется в старом положении.

Итак, я знаю угол (радианы) поворота и 2 угла по диагонали друг от друга, теперь я хотел бы найти два других угла.

Я пытался вычислить их с помощью тригонометрии, но с треском провалился, так как вы можете рассчитать эти 2 других пункта.

1 Ответ

0 голосов
/ 26 февраля 2012

в псевдокоде:

r = (x2 - x1)*sin(a) - (y2 - y1)*cos(a)
x3 = x1 + r*sin(a)
y3 = y1 - r*cos(a)
x4 = x2 - r*sin(a)
y4 = y2 + r*cos(a)

То, что это делает, восстанавливает длину r стороны повернутого прямоугольника, а затем использует эту длину, чтобы вычислить, где должны быть две другие точки относительно двух точек, которые у вас уже есть.

...