Algorithme de calcul de distance entre 2 dimension 3 points?
J'ai deux 3-D points.
Exemple:
float[] point1 = new float[3] {1.3919023, 6.12837912, 10.391283};
float[] point2 = new float[3] {48.3818, 38.38182, 318.381823};
Quelqu'un une idée pour un algorithme pour calculer la distance dans flotter entre les points?
Nous vous ferons savoir dès que la page Wikipedia black-out se termine.
Si la communauté ne pouvait pas répondre à cela sans googler alors, le monde est vouée à l'échec. Ce qui me rappelle: pourquoi n'avez-vous pas google?
Si la communauté ne pouvait pas répondre à cela sans googler alors, le monde est vouée à l'échec. Ce qui me rappelle: pourquoi n'avez-vous pas google?
OriginalL'auteur Headpuster | 2012-01-18
Vous devez vous connecter pour publier un commentaire.
La distance Euclidienne entre deux points 3D est:
Et en N dimensions (non testé et vulnérables à débordement):
Edit: je préfère de beaucoup le
Zip
solution posté par dasblinkenlight ci-dessous!Corrigé, merci. Aussi cette question a été posée de NOMBREUSES fois ici....
OriginalL'auteur Ron Warholic
En C#, LINQ, vous pouvez le faire:
Ce résume au carré par paires des différences entre les coordonnées, et renvoie la moyenne de la racine carrée de la somme.
EDIT : Cette solution fonctionne pour n'importe quel nombre de dimensions supérieur ou égal à un (merci à Austin Salonen pour le pointage).
ce look est génial seule ligne 😀 avez-vous tester pour vérifier qu'elle fonctionne ou pas?
Lorsque les tailles de
point1
etpoint2
match, il n'a pas d'autre choix, sauf à produire une racine carrée de la somme des carrés des deux a deux différences 🙂OriginalL'auteur dasblinkenlight
float distance=(float) Math.Sqrt(Math.Pow(point1[0]-point2[0],2) + Math.Pow(point1[1]-point2[1],2) + Math.Pow(point1[2]-point2[2],2))
OriginalL'auteur Farid Movsumov
Comme en 2D, mais avec un plus de coordonnées:
Évidemment pas écrit en C#, mais vous obtenez l'idée.
OriginalL'auteur InBetween
Si vous avez deux points:
P1 = (x1, y1, z1)
P2 = (x2, y2, z2)
la distance est
SQRT((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2)
Afin que vous pouvez utiliser
OriginalL'auteur Marco