Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

267
Visualizações
¿Cómo determinar si hubo una colisión entre un rectángulo normal y un rectángulo girado?

Determinar si hubo o no una colisión entre dos rectángulos AABB (cuadro delimitador alineado con el eje) es trivial:

 doRectanglesCollide(r1X, r1Y, r1W, r1H, r2X, r2Y, r2W, r2H) { return r1X < r2X + r2W && r1X + r1W > r2X && r1Y < r2Y + r2H && r1Y + r1H > r2Y; }

Determinar si hubo o no una colisión entre dos rectángulos rotados es mucho menos eficiente.

Sin embargo, hay un truco. Uno puede rotar ambos rectángulos en la misma cantidad de modo que uno de ellos se convierta en un rectángulo AABB.

En ese punto, uno simplemente necesitaría una función que determine si un rectángulo AABB y un rectángulo girado se cruzan. Supongo que sería mucho más eficiente que usar el teorema del eje de separación para determinar si dos rectángulos girados se intersecan, ya que este último es una fórmula general para determinar si dos polígonos arbitrarios se intersecan.

Entonces, para reformular, aquí está mi pregunta: tengo dos rectángulos que están girados. En lugar de usar la respuesta vinculada, ¿no existe un algoritmo más eficiente que aproveche el hecho de que uno de los rectángulos se puede convertir en un rectángulo AABB al rotarlos a ambos por -radians ? Porque en ese punto simplemente se convierte en la pregunta de si un rectángulo AABB y un rectángulo rotado se intersecan o no.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda