Как я могу выполнить обнаружение столкновений на повернутых прямоугольниках?

Хорошо, я пытаюсь написать программу, которая могла бы сказать мне, находятся ли какие-либо точки в прямоугольнике 30x100, повернутом на 140 градусов, внутри другого прямоугольника 30x100, повернутого на 200 градусов.

Честно говоря, даже не знаю с чего начать. Я подумал о том, чтобы перевернуть их перед выполнением обычных вычислений, но они все равно не совпадали.

Как я могу это сделать?


person William    schedule 13.03.2009    source источник
comment
Значит, вы в основном ищете пересечение двух прямоугольников, не выровненных по оси? (Или, если они вообще столкнутся?)   -  person strager    schedule 13.03.2009
comment
Google предоставляет столкновение 2D повернутого прямоугольника на GameDev.net.   -  person strager    schedule 13.03.2009
comment
@Daniel L, я бы предположил, что это ось Z, поскольку спрашивающий, вероятно, говорит о 2D-прямоугольниках в 2D-пространстве.   -  person strager    schedule 13.03.2009
comment
@Daniel: Это не только параллелограмм, это все еще прямоугольник - его вращение никогда этого не изменит. Неважно, вращаетесь ли вы вокруг центра, угла или какой-либо другой точки в 2D-пространстве.   -  person BlueRaja - Danny Pflughoeft    schedule 24.01.2012