Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man mit NumPy den euklidischen Abstand im 3D-Raum effizient berechnen?

Wie kann man mit NumPy den euklidischen Abstand im 3D-Raum effizient berechnen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-31 04:32:16974Durchsuche

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

Berechnung des euklidischen Abstands mit NumPy

Sie erhalten zwei Punkte im 3D-Raum, dargestellt als NumPy-Arrays a und b. Ihr Ziel ist es, den euklidischen Abstand zwischen diesen Punkten zu berechnen.

Der euklidische Abstand zwischen zwei Punkten wird mit der folgenden Formel berechnet:

dist = sqrt((ax-bx)^2 + (ay-by)^2 + (az-bz)^2)

Um diesen Abstand mit NumPy zu berechnen, können Sie verwenden die Funktion numpy.linalg.norm. Diese Funktion berechnet die Vektornorm, also die Länge des Vektors. Der euklidische Abstand zwischen zwei Punkten ist einfach die l2-Norm ihrer Differenz.

Daher können Sie den Abstand wie folgt berechnen:

import numpy

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

dist = numpy.linalg.norm(a - b)

Die Funktion numpy.linalg.norm benötigt einen Vektor als Eingabe und gibt seine Norm zurück. Der Standardwert des ord-Parameters in dieser Funktion ist 2, was der l2-Norm entspricht, auch bekannt als euklidischer Abstand.

Für ein tieferes Verständnis des euklidischen Abstands und seiner Beziehung zum l2 Norm finden Sie im Auszug aus dem Buch „Introduction to Data Mining“.

Das obige ist der detaillierte Inhalt vonWie kann man mit NumPy den euklidischen Abstand im 3D-Raum effizient berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn