Je travaille sur la simulation de corps rigides depuis un moment et je ne sais toujours pas comment résoudre ce problème. (J'utilise la détection de collision discrète et j'utilise le LCP pour résoudre l'impulsion de chaque point de contact.)correction de la pénétration de la rigidité du corps rigide
Imaginez un bol fixe (un hémisphère centré sur C) et une particule sur le bord du bol. La particule roule sur la surface à l'intérieur du bol. Et à un pas de temps, il devrait y avoir un point de contact A, et le solveur LCP donnera l'impulsion de résultat qui rend la vitesse de la particule perpendiculaire au vecteur CA. Mais après avoir mis à jour un pas de temps, la particule se déplace un peu le long de cette vitesse et sort effectivement du bol, et les choses empirent après plusieurs pas de temps. Quand j'ai utilisé un cube à la place de la particule, le cube peut pénétrer et couler dans le bol.
Y a-t-il un moyen d'éviter cela? La méthode des impulsions n'est pas parfaite et il peut encore y avoir pénétration après la réponse de collision. Je dois d'une certaine façon corriger la pénétration, mais simplement déplacer l'objet le long de la surface normale au point de contact n'est pas une bonne idée, car il peut produire de nouvelles pénétrations.
Edit:
Il est pas le problème de bol étant trop mince ou pas de temps trop grand. La raison en est que l'intégrale d'Euler produit un polygone au lieu d'un cercle. Et nous ne pouvons pas simplement modifier les positions de ces 2 objets, car s'il y a un troisième objet de l'autre côté, les objets 2 et 3 peuvent avoir une nouvelle pénétration. Je pense qu'un moyen consiste à ajouter une force élastique basée sur la profondeur de pénétration, mais ce n'est pas assez net.
Merci c'est une bonne idée de regarder à travers le code source de Bullet, de travailler dessus.
vous pouvez vérifier comment cela est résolu dans les packages de dynamique moléculaire, par exemple AMBRE ou GROMACS. – Andrey
Je veux vous donner un +1 juste pour le titre: "pénétration de la dynamique du corps rigide" –
Est-ce que réduire le pas de temps réduit le naufrage? – Zouch