Je veux écrire un programme pour simuler un mouvement de nombre élevé (N = 1000 - 10^5 et plus) de corps (cercles) sur 2D avion. Tous les corps ont une taille égale et la seule interaction entre eux est une collision élastique. Je veux obtenir quelque chose comme mais à plus grande échelle, avec plus de balles et de remplissage plus dense de l'avion (pas un modèle de gaz comme ici, mais comme un modèle d'eau bouillante).Simulation 2D de collision de corps (détection de collision rapide pour un grand nombre de balles)
Donc, je veux une méthode de détection rapide que le numéro de boule i
ait une autre bille sur son chemin dans un rayon de 2 * rayon + distance V * delta_t. Je ne veux pas faire une recherche complète de collision avec N balles pour chacune des balles i
. (Cette recherche sera N^2.)
PS Désolé pour GIF en boucle d'animation. Appuyez simplement sur Echap pour l'arrêter. (Ne fonctionnera pas dans Chrome).
Dans quelle langue le feriez-vous? –
Voulez-vous que ce soit en temps réel? –
java (plus exactement - le traitement java). mais je ne sais pas quel algorithme je devrais utiliser. – osgx