Distanza tra 2 punti

Calcolare la distanza tra due punti nel piano cartesiano

Per esempio

  • \overline{OA}=5.0
  • \overline{OB}=5.0
  • \overline{AB}=1.4142...

1

Utilizzando una tupla per rappresentare una coppia di numeri si semplificano le operazioni

import math

O = (0.0, 0.0)
A = (3.0, 4.0)
B = (4.0, 3.0)

Ox, Oy = O
Ax, Ay = A
Bx, By = B

dOA = math.sqrt((Ox-Ax)**2 + (Oy-Ay)**2)
dOB = math.sqrt((Ox-Bx)**2 + (Oy-By)**2)
dAB = math.sqrt((Ax-Bx)**2 + (Ay-By)**2)

print("OA =", dOA)
print("OB =", dOB)
print("AB =", dAB)

2

L’accesso al singolo valore della tupla può avvenire anche tramite indice 0,1, …

import math

O = (0.0, 0.0)
A = (3.0, 4.0)
B = (4.0, 3.0)

dOA = math.sqrt((O[0]-A[0])**2 + (O[1]-A[1])**2)
dOB = math.sqrt((O[0]-B[0])**2 + (O[1]-B[1])**2)
dAB = math.sqrt((A[0]-B[0])**2 + (A[1]-B[1])**2)

print("OA =", dOA)
print("OB =", dOB)
print("AB =", dAB)

3

Come funzione

def distanza(p1, p2):
    import math
    x1, y1 = p1
    x2, y2 = p2
    d = math.sqrt((x1-x2)**2+(y1-y2)**2)
    return d

O = (0.0, 0.0)
A = (3.0, 4.0)
B = (4.0, 3.0)

dOA = distanza(O, A)
dOB = distanza(O, B)
dAB = distanza(A, B)

4

La funzione math.dist(p1, p2), restituisce la distanza tra i due punti

import math

O = (0.0, 0.0)
A = (3.0, 4.0)
B = (4.0, 3.0)

dOA = math.dist(O, A)
dOB = math.dist(O, B)
dAB = math.dist(A, B)