Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Поиск точки на прямой


Автор: MrLjaO 5.5.2006, 13:54
А может кто знает как решить следующую задачу?
Задача в принципе слегка похожа .
Есть 2 точки (знаем их координаты) точка С(x1,y1) и O(x2,y2).  Необходимо найти координаты точки P удоволитворяющей следующим условиям:
1. Точка Р лежит с точками С и О на одной прямой.
2. Точка Р находиться между точками С и О
3. Растояние от между точками Р и О равно А (какая-то константа).

Помогите советом .. или делом )
  

Автор: GePo 5.5.2006, 14:26
Px = A*(x1 - x2) / l
Py = A*(y1 - y2) / l
где l = sqrt( (x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2) )
 

Автор: Joss 7.5.2006, 11:57
Т.е. нужно найти точку Р(x0, y0), лежащую на отрезке CO на расстоянии а от точки О.
Мой вариант:

Код

x0 = x2 + a*(x1 - x2)/d,
y0 = y2 + a*(y1 - y2)/d,

где d - расстояние между С и О: d = sqrt((x2 - x1)^2 + (y2 - y1)^2). 
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)