
Calcolare la distanza tra due punti nel piano cartesiano
Per esempio
= 5.0
= 5.0
= 1,4142…
1
Per raggruppare le due coordinate in un punto puoi utilizzare una lista.
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
Se non è necessario utilizzare tutte le funzioni delle liste allora si può utilizzare le tuple che sono più efficienti.
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)
...
3
L’accesso al singolo valore della lista, tupla, può avvenire anche tramite indice 0, 1, …
...
dOA = math.sqrt((O[0]-A[0])**2 + (O[1]-A[1])**2)
...
4
Come funzione
import math
def distanza(p1, p2):
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)
...
5
La funzione math.dist(p1, p2), restituisce la distanza tra due punti
...
dOA = math.dist(O, A)
dOB = math.dist(O, B)
dAB = math.dist(A, B)
...
Problemi
Data una lista di punti
- la distanza minima / massima / media / … dall’origine
- la distanza minima / massima / media / … tra essi
- il baricentro / il punto più vicino al baricentro
- …