Вычислить ширину и высоту прямоугольника по диагонали и повороту - PullRequest
1 голос
/ 30 августа 2010

У меня есть вращающийся прямоугольник, и я знаю размер диагонали. Я также знаю угол, используемый для поворота прямоугольника.

Как рассчитать ширину и высоту прямоугольника?

Эскиз проблемы см .:

alt text

Ответы [ 2 ]

3 голосов
/ 30 августа 2010

1) создайте новую линию, начинающуюся в одной из конечных точек диагонали и проходящую под углом поворота.

2) спроецируйте другой диагональный конец на эту линию.Теперь вы знаете одну сторону прямоугольника.

3) Скопируйте сегмент на другую сторону диагонали и соедините конечные точки для завершения прямоугольника.

Единственный хитрый код здесьпроекция.На этой веб-странице приведен пример кода для расстояния / проекции Point-Line: http://softsurfer.com/Archive/algorithm_0102/algorithm_0102.htm

0 голосов
/ 30 августа 2010

Спасибо, Дэвид Раттен,

Я все заработал.Ваш сайт о проекции был очень полезен для моего математического знания, но с помощью некоторого Google я нашел хорошую функцию пересечения линии, которая помогла мне вычислить длину (расстояние) одной из сторон.

К сожалению, яЯ слишком «новичок» здесь, чтобы награждать вас кредитами или отвечать на ваш ответ.

@ Эрик Бейнвилл: Я знал расстояние, потому что у меня были координаты точки1 и точки2 (вверху слева и внизу справа).С этими координатами это возможно.Я не упомянул об этом, но, к счастью, Дэвид догадался, что я их знаю.

Еще раз спасибо!

...