Finden Sie die kürzeste Entfernung zwischen einem Punkt und die Liniensegmente (nicht line)

Ich haben eine Menge der Liniensegmente (nicht Linien), (A1, B1), (A2, B2), (A3, B3), wo A,B sind die Endpunkte des Liniensegments. Jeder A und B hat (x,y) Koordinaten.

FRAGE:
Ich muss wissen, die kürzeste Entfernung zwischen point O und line segments wie gezeigt, in der gezeigt Abbildung umgesetzt Zeile des codes. Der code, den ich wirklich nachvollziehen kann, ist entweder pseudo-code oder Python.

CODE: ich habe versucht, das problem zu lösen mit diesem code, leider funktioniert es nicht richtig.

def dist(A, B, O):
    A_ = complex(*A)
    B_ = complex(*B)
    O_= complex(*O)
    OA = O_ - A_
    OB = O_ - B_
    return min(OA, OB)
# coordinates are given
A1, B1 = [1, 8], [6,4]
A2, B2 = [3,1], [5,2]
A3, B3 = [2,3], [2, 1]
O = [2, 5]
A = [A1, A2, A3]
B = [B1, B2, B3]
print [ dist(i, j, O)  for i, j in zip(A, B)]

Finden Sie die kürzeste Entfernung zwischen einem Punkt und die Liniensegmente (nicht line)

Vielen Dank im Voraus.

  • Bitte posten Sie, was Sie bisher ausprobiert haben.
  • Ich habe einige codes, die ich ausprobiert habe um das problem zu lösen. Was würden Sie denken ?
InformationsquelleAutor Spider | 2014-11-27
Schreibe einen Kommentar