Heim >Backend-Entwicklung >Python-Tutorial >Wie kann NumPy den euklidischen Abstand zwischen zwei 3D-Punkten effizient berechnen?

Wie kann NumPy den euklidischen Abstand zwischen zwei 3D-Punkten effizient berechnen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-09 14:22:14953Durchsuche

How Can NumPy Efficiently Calculate Euclidean Distance Between Two 3D Points?

Berechnung des euklidischen Abstands mit NumPy

Im 3D-Raum sind zwei Punkte a = (ax, ay, az) und b = (bx) gegeben , by, bz), der euklidische Abstand zwischen ihnen wird ausgedrückt als:

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

Wie kann NumPy verwendet werden, um diesen Abstand zu berechnen?

Mit NumPy können Sie haben Arrays a und b, die die beiden Punkte darstellen:

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

Lösung:

Um dieses Problem zu lösen, nutzen Sie numpy.linalg .norm:

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

Der Standardwert des ord-Parameters in numpy.linalg.norm ist 2, entsprechend der l2-Norm. Da die euklidische Abstandsformel die l2-Norm darstellt, misst diese Berechnung genau den Abstand zwischen den Punkten.

Diese Funktionalität bezieht ihre theoretische Grundlage aus der Einführung in Data Mining, wie unten dargestellt:

[Bild der theoretischen Erklärung aus der Einführung in Data Mining]

Das obige ist der detaillierte Inhalt vonWie kann NumPy den euklidischen Abstand zwischen zwei 3D-Punkten 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