Страницы

Поиск по вопросам

суббота, 28 декабря 2019 г.

Как найти точку на отрезке?

#алгоритм


У меня есть отрезок с известными координатами концов. На этом отрезке есть точка.
Я знаю расстояние от начала отрезка до этой точки. Мне надо найти координаты этой точки.
 Как найти эти координаты?

Пример: Есть 2 точки А(3,3) и В(6,4). Длина отрезка примерно 3,16. И есть точка С(?,?)
на отрезке. Как найти координаты, если от А до С =1,8 ???
    


Ответы

Ответ 1



Алгоритм без кода (довольно элементарный): Имеем: Две точки A, B; len - расстояние от точки А до требуемой точки C full_len = |B - A| // длина вектора, соединяющего две точки == длина отрезка C = A + (B - A) * (len / full_len) Сложение векторов и умножение на число - очевидные операции.

Ответ 2



Имеется отрезок AB с координатами A(Xa, Ya) и B(Xb, Yb). Требуется найти координаты точки C(Xc, Xc), лежащей на отрезке AB на расстоянии Rac от точки A. Rab = sqrt((Xb-Xa)^2 + (Yb-Ya)^2) k = Rac / Rab Xc = Xa + (Xb-Xa)*k Yc = Ya + (Yb-Ya)*k

Ответ 3



nodet - точка конец вектора, в твоем случае точка b nodef - точка начало вектора, в твоем случае точка a dx = nodet.x - nodef.x dy = nodet.y - nodef.y dz = nodet.z - nodef.z r = math.sqrt(dx ** 2 + dy ** 2 + dz ** 2) xx = dx * (step/r) yy = dy * (step /r) zz = dz * (step /r) newnode = node(nodef.x + xx,nodef.y + yy,nodef.z + zz) newnode - новая точка на заданом расстоянии

Комментариев нет:

Отправить комментарий