Estou trabalhando em um mecanismo de física puramente contínuo e preciso escolher algoritmos para detecção de colisão de fase ampla e estreita. "Puramente contínuo" significa que eu nunca faço testes de interseção, mas, em vez disso, quero encontrar maneiras de capturar todas as colisões antes que elas aconteçam e colocar cada uma delas na pilha de "colisões planejadas", ordenada pela TOI.
Fase Ampla O único método contínuo de fase larga em que consigo pensar é envolver cada corpo em um círculo e testar se cada círculo se sobrepõe a outro. No entanto, isso parece terrivelmente ineficiente e carece de abate.
Não tenho idéia de que análogos contínuos possam existir para os métodos discretos de abate de colisão de hoje, como quad-trees. Como posso evitar testes amplos inadequados e inúteis, como um mecanismo discreto? Eu também gostaria de poder ver colisões com mais de um quadro à frente.
Fase estreita
Consegui adaptar o SAT estreito a uma verificação contínua, em vez de discreta, mas tenho certeza de que existem outros algoritmos melhores nos documentos ou sites que vocês podem encontrar.
Quais algoritmos rápidos ou precisos você sugere que eu use e quais são as vantagens / desvantagens de cada um?
Nota final:
digo técnicas e não algoritmos, porque ainda não decidi como armazenarei polígonos diferentes que podem ser côncavos, convexos, redondos ou mesmo com orifícios. Eu pretendo tomar uma decisão sobre isso com base no que o algoritmo exige (por exemplo, se eu escolher um algoritmo que divida um polígono em triângulos ou formas convexas, simplesmente armazenarei os dados do polígono neste formulário).