Bonjour,
J'ai codé un moteur physique, je cherche à voir si je peux apporter quelques optimisations, en particuliers dans la détection de collision.
Je dois détecter plusieurs types de collisions :
-> collisions entre entités (prises 2 par 2)
-> collisions entre entités et particules
-> collisions entre entités et rayons
Ces entités sont dans 2 listes :
-> les entités qui sont fixes et qui ne bougeront jamais
-> les entités qui sont suceptible de bouger
Ce que je fais pour l'instant :
Sachant que les algorithme de détections ont des complexités différentes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Pour chaque entité Détection avec les entités fixe Détection avec les particules Détection avec les rayons Pour chaque entité fixe Détection avec les particules Détection avec les rayons
Détection entité/entité : recherche de collision entre 2 SphereTree, en n*log(n) ou log(n) je crois.
Détection entité/particule : recher de collision entre un point et un SphereTree, même complexité qu'au dessus.
Détection entité/rayon, je ne connais pas la complexité.
Ce que j'attends de vous, si c'est possible :
Me dire si je parcours mes boucles comme il faut (il est peut-être possible de savoir si un parcours peut être meilleur).
Partager