etecção de colisão com retângulos girad

Estou criando um jogo de pong. No entanto, no meu jogo, os remos têm a capacidade de girar em torno do centr

Essas pás são representadas por objetos rectangle2D. Agora, esses retângulos devem acertar a bola no que diz respeito a eles. A bola é representada por um objeto circle2D e, quando bate na raquete (isso é feito usando o método de interseção dos retângulos), a bola inverte a direção. Isso funciona bem quando os remos não são girados, mas quando são girados, o método de interseção não funciona. Quando uso esta declaração:

paddle2.intersects(xLocation, yLocation, diameter, diameter)

(Onde paddle2 é o nome de um dos retângulos e os parâmetros passados para ele representam a coordenada x, a coordenada y e o raio do círculo)

O círculo age como se o retângulo não estivesse girado. Ou seja, ele ricocheteará na posição original dos retângulo

Eu provavelmente devo mencionar que estou girando os retângulos usando transformações afins. Este é o comando que eu uso para fazer o retângulo parecer girado:

g2.rotate(Math.toRadians(angle), xLocation+(width/2), yLocation+(height/2)); 

(onde os parâmetros são o ângulo de rotação do retângulo e as coordenadas xey do centro

Em seguida, redefino a transformação afim do meu objeto g2 para uma transformação afim regula

Venho pesquisando esse problema há algum tempo e encontrei algumas discussões sobre o problema. No entanto, eles parecem estar acima da minha cabeça e parecem lidar com a matemática matricial (e, como alguém que nunca aprendeu a matemática necessária, eu me perco). Então, eu esperava que alguém pudesse fornecer uma solução simples ou me guiar pela matemática necessári

Obrigado

questionAnswers(2)

yourAnswerToTheQuestion