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

dOA = math.sqrt((Ox-Ax)**2 + (Oy-Ay)**2)
print("OA =", dOA)
...

2

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

...
Ox = O[0]
Oy = O[1]
Ax = A[0]
Ay = A[1]

dOA = math.sqrt((Ox-Ax)**2 + (Oy-Ay)**2)
...

3

Come funzione

def distanza(p1, p2):
    import math
    x1, y1 = p1
    x2, y2 = p2
    return math.sqrt((x1-x2)**2+(y1-y2)**2)
...
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

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

Problemi

Data una lista di punti

  1. la distanza minima / massima / media / … dall’origine
  2. la distanza minima / massima / media / … tra essi
  3. il baricentro / il punto più vicino al baricentro