Distancia euclidiana en Python


La distancia euclidiana es la distancia “ordinaria” entre dos puntos de un espacio euclídeo, esta se deduce a partir del teorema de Pitágoras (Wikipedia).

Sirve para definir la distancia entre dos puntos en espacios bidimensionales, tres o más dimensiones, permite hallar la longitud de un segmento definido por dos puntos de una recta, del plano o de espacios de mayor dimensión.

 

Sus bases se encuentran en la aplicación del Teorema de Pitágoras sobre triángulos rectángulos, donde la distancia euclideana por lo general es la longitud de la hipotenusa del triángulo recto conformado por cada punto y los vectores proyectados sobre los ejes directores al nivel de la hipotenusa.

Expresado matemáticamente:

distancia-euclidiana

La implementación en Python es la siguiente:

def squareEuclideanDist(self, p_vec, q_vec):
 """
 Este método implementa el cuadrado de la distancia
 :p_vec: primer vector
 :q_vec: segundo vector
 :return: La distancia euclidiana al cuadrado de los vectores uno y dos
 """
 diff = p_vec - q_vec
 return max(np.sum(diff ** 2), self.e)

def euclideanDistance(self, p_vec, q_vec):
 """
 El método implementa la métrica de la distancia euclidiana
 :p_vec: vector uno
 :q_vec: vector dos
 :return: La distancia entre vector uno y dos
 """
 return max(math.sqrt(self.squareEuclideanDist(p_vec, q_vec)), self.e)
Anuncios

Acerca de silvercorp

Blog personal de Ye§i creado el 18/Ag/06 enfocado al diseño gráfico, tecnología y programación.

Publicado el septiembre 15, 2016 en Programación. Añade a favoritos el enlace permanente. Deja un comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: