mecanismo de física - ordem das fases e outras informações gerais
Quero construir meu próprio mecanismo de mini-física 2D, que incluirá (por enquanto) carrocerias rígidas e restrições (juntas, contatos, molas ...). E tentei descobrir qual é a ordem correta das fases, quando inicio um timestep, quando as fases gerais são: Fase larga, Fase estreita (detecção de colisão e geração de contatos), Resolução (Solucionador de restrições) e a integração - espero que você possa me dizer a ordem certa.
Também tenho perguntas gerais sobre cada fase:
Fase estreita - Quando encontrei uma colisão, preciso separar os corpos depois de encontrar a colisão ou apenas aplicar um impulso às suas velocidades na fase de resolução?
e se eu estiver usando CCD (Detecção Contínua de Colisão) para alguns corpos, o que aconteceria se eu encontrasse uma colisão (a mais antiga para o objeto A) de um objeto em movimento rápido A com outro objeto B e depois encontrei esse objeto B colidirá com outro objeto C antes do objeto, ele colidirá com o objeto A, preciso voltar ao objeto A e procurar outras colisões após a primeira colisão que encontrei com ele?
e se eu estiver usando o Contact Solver no meu mecanismo (no solucionador de restrições, gerarei restrições de contato A para cada colisão e resolverei tudo na fase de resolução ou resolverei cada contato logo após os encontrou na fase estreita?
Resolução - Usar um Solver constaints para a fase de resolução está ok? e se resolvendo uma restrição eu resolverei outras restrições ou criar mais restrições? (Preciso verificar após cada restrição resolver se resolve outras restrições ou cria mais?
Infracção - esta é a parte em que pego todas as informações que reuni (impulsos, forças ...) e as integro à velocidade e ao posicionamento ao método de integração que escolhi?
Uma integração simplista de euler será suficiente para o meu mecanismo de física?
e também vi em muitos mecanismos de física, como o box2D, eles usam iterações e deixo-me escolher a frequência como aqui (observe que posso alterar a contagem de iterações (10) e a frequência (60,0 Hz)):
O que essas variáveis significam? as iterações são quantas vezes eu recordo a atualização física (todas as fases acima) em cada quadro, ou apenas recordo uma fase como a fase estreita ou algo assim? e a variável de frequência, deixe-me escolher quantos quadros haverá em um segundo? me corrija se eu estiver cansada, por favor.
todas as perguntas acima me deixam empolgado com o aprendizado, porque suas coisas básicas, e eu não encontrei um lugar que explique essas coisas de uma maneira limpa e direta
então obrigado por quem ler tudo isso e, principalmente, por quem também me ajudará com todas as minhas perguntas :)