Área de interseção de dois retângulos girados

Eu tenho dois retângulos 2D, definidos comoorigem (x, y) umTamanho (altura, largura) e umângulo de rotação (0-360 °). Eu posso garantir que ambos os retângulos são do mesmo tamanho.

Eu preciso calcular a área aproximada de interseção desses dois retângulos.

O cálculonão precisa ser exato, embora possa ser. Eu vou estar comparando o resultado com outras áreas de interseção para determinar omaior área de interseção em um conjunto de retângulos, portanto, ele só precisa ser preciso em relação a outros cálculos do mesmo algoritmo.

Pensei em usar a área da caixa delimitadora da região intersectada, mas estou tendo problemas para obter os vértices da região intersectada por causa de todos os diferentes casos possíveis:

Eu estou escrevendo este programa em Objective-C no framework Cocoa, pelo que vale a pena, então se alguém conhece algum atalho usandoNSBezierPath ou algo que você é bem-vindo para sugerir isso também.

questionAnswers(6)

yourAnswerToTheQuestion