![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Точка находится на линии
alxx © (2003-07-09 16:52:00)
Дано: начальная и конечная точки и ширина линии.
Как бы побыстрее узнать, находится ли точка на линии или нет.
(можно таблицу синусов использовать + операции с фиксированной запятой, но может быть можно проще?)
alxx (2003-07-10 12:42:00) [1]
Круто! Работает, спасибо.
Sapersky_ (2003-07-09 22:52:00) [2]
Расстояние от точки до отрезка:
http://geometryalgorithms.com/Archive/algorithm_0102/algorithm_0102.htm
См. Distance to a Ray or a Segment и последний исходник (dist_Point_to_Segment). Кстати, как раз закруглённые завершения будут учитываться.
MBo (2003-07-09 17:21:00) [3]
записываешь уравнение прямой в параметрическом виде X=x0+t(x1-x0), так же для Y, дифференцируешь квадрат расстояния до точки - находишь параметр ближайшей к точке точки прямой. Если он в пределах 0..1 - то лежит, где надо
alxx (2003-07-09 17:07:00) [4]
Простите меня, линейную алгебру подзабыл. Сейчас буду вспоминать.
alxx (2003-07-09 17:05:00) [5]
Завершения закругленные. Но ими можно пожертвовать. Т.е. на концах формула может не работать (можно считать прямоугольником). А начальная и конечная точки находятся на плоскости (в середине линии-прямоугольника). В этой же плоскости находится и точка.
MBo (2003-07-09 17:00:00) [6]
прямоугольник? где "начальная и конечная точки" находятся?
завершения плоские или закругленные?
miek (2003-07-09 16:59:00) [7]
Еще надо знать, с какой точностью считать, что точка на линии или все-таки нет.
Тогда просто подставить значения в формулу расстояния и сравнить
alxx (2003-07-09 16:59:00) [8]
Просто отрезок с шириной. Даны две точки и ширина.
alxx (2003-07-09 16:59:00) [9]
Расстояние точки до линии? Звучит вкусно. Щаз попробую вывести.
alxx (2003-07-09 16:58:00) [10]
Толстая линия.
MBo (2003-07-09 16:56:00) [11]
Что из себя представляет твоя "линия"?