Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > прямая и точка |
Автор: duk 1.11.2008, 00:32 |
Здравствуйте! У меня такой вопрос (когда-то я эту задачу решал, но сейчас как-то торможу): есть прямая (даны координаты точек, через которые она проходит), где-то рядом находится точка (координаты тоже известны), нужно определить с какой стороны от прямой находится точка. Решал её раньше через функцию похожую на арктангенс из набора дельфийского. Позабывал напрочь все ![]() Если кому не влом, дайте код на делфи. ![]() |
Автор: 4d5a 1.11.2008, 07:07 |
функция прямой есть f(x)=kx+b если она проходит через 2 точки, то k=(y2-y1)/(x2-x1), а b=y1-kx1 пусть точка (которая гдето рядом с прямой) упала на (x3 y3), тогда если f(x3)>y3, значит точка ниже прямой, если равны, значит на прямой иначе выше прямой. |
Автор: Rickert 1.11.2008, 07:10 |
У этой задачи нет однозначного решение, потому что нет условия "что значит с какой стороны"? Скольки-мерное пространство? |
Автор: duk 1.11.2008, 11:15 |
двух если прямая вертикальная - слева или справа, если нет - сверху или снизу, ну как-то так. |
Автор: duk 1.11.2008, 11:32 |
Rickert, вообще задача вот в чем. Есть массив координат - это координаты реки. Напрваление течения реки определяется так - из первой точки в последнюю. У реки есть притоки - нужно определить правый приток или левый. Наверное точне было бы спросить, с какой стороны находится точка по отношению к вектору. |
Автор: Rickert 1.11.2008, 11:47 | ||
Поиск угла между векторами:
|
Автор: duk 1.11.2008, 16:56 |
4d5a, Rickert, спасибо! Вам по плюсу. ![]() |
Автор: maxim1000 2.11.2008, 00:10 | ||
если быть более точным, то это - поиск косинуса угла между векторами а косинус не зависит от того, в какую сторону происходит поворот для определения знака угла можно использовать определитель (если посмотреть на это из трёхмерного пространства, получится z-координата векторного произведения):
(Возможно, нужно будет развернуть неравенство - зависит от того, от какого к какому вектору считать угол) |
Автор: duk 2.11.2008, 02:34 |
maxim1000, это то, что мне было нужно!!! Спасибо! +2 (второй добавлю завтра) тебе за это. |