я набор линейных сегментов (не линии), (A1, B1)
, (A2, B2)
, (A3, B3)
, где A
, B
заканчиваются точки отрезка линии. Каждый A
и B
имеет (x,y)
координаты.Найти кратчайшее расстояние между точкой и линейными сегментами (не линия)
ВОПРОС: мне нужно знать, самое короткое расстояние между point O
и line segments
, как показано на рисунке, показанном , реализованной в строке кодов. Код, который я действительно могу понять, это либо псевдокод, либо Python.
КОД: Я пытался решить эту проблему с этим кодом, к сожалению, он не работает должным образом.
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)]
Спасибо заранее.
Пожалуйста, после того, что вы пробовали до сих пор. –
@ReticulatedSpline. Я добавил некоторые коды, которые я пытался решить проблему. Что вы думаете? – Spider