J'utilise C# et j'ai deux list<AACoordinate>
où chaque élément de ces listes représente un point 3D dans l'espace par x, y et z.
class AACoordinate
{
public int ResiNumber { get; set; }
public double x { get; set; }
public double y { get; set; }
public double z { get; set; }
}
Chaque liste peut contiennent 2000 ou plus et mon objectif est de comparer chaque point de la liste 1 à tous les points de la liste 2 et si la distance est inférieure à un nombre spécifique, j'en garde une trace. pour l'instant, j'utilise foreach pour comparer chaque élément de la liste1 à tous ceux de la liste2. Cette opération est assez lente en raison du nombre de points. Avez-vous une suggestion pour le rendre plus rapide ?
ma boucle est :
foreach (var resiSet in Program.atomList1)
{
foreach (var res in Program.atomList2)
{
var dis = EuclideanDistance(resiSet, res);
if (dis < 5)
temp1.Add(resiSet.ResiNumber);
}
}
Merci d'avance pour votre aide.