Maison > développement back-end > Tutoriel Python > Comment calculer efficacement la distance euclidienne dans l'espace 3D à l'aide de NumPy ?

Comment calculer efficacement la distance euclidienne dans l'espace 3D à l'aide de NumPy ?

Mary-Kate Olsen
Libérer: 2024-12-31 04:32:16
original
951 Les gens l'ont consulté

How to Efficiently Calculate Euclidean Distance in 3D Space Using NumPy?

Calcul de la distance euclidienne avec NumPy

Vous recevez deux points dans l'espace 3D, représentés sous forme de tableaux NumPy a et b. Votre objectif est de calculer la distance euclidienne entre ces points.

La distance euclidienne entre deux points est calculée à l'aide de la formule suivante :

dist = sqrt((ax-bx)^2 + (ay-by)^2 + (az-bz)^2)
Copier après la connexion

Pour calculer cette distance avec NumPy, vous pouvez utiliser la fonction numpy.linalg.norm. Cette fonction calcule la norme du vecteur, qui est la longueur du vecteur. La distance euclidienne entre deux points est simplement la norme l2 de leur différence.

Vous pouvez donc calculer la distance comme suit :

import numpy

a = numpy.array((ax, ay, az))
b = numpy.array((bx, by, bz))

dist = numpy.linalg.norm(a - b)
Copier après la connexion

La fonction numpy.linalg.norm prend un vecteur en entrée et renvoie sa norme. La valeur par défaut du paramètre ord dans cette fonction est 2, ce qui correspond à la norme l2, également connue sous le nom de distance euclidienne.

Pour une compréhension plus approfondie de la distance euclidienne et de sa relation avec le l2 norme, référez-vous à l'extrait du livre "Introduction to Data Mining".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal