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

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

  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