|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.09.2009, 09:22 | #1 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
алгоритм поиска общих точек двух прямых
нужно найти точки пересечения 2 прямых вида
a1*x+b1*y=c1 a2*x+b2*y=c2 или указать что они не пересекаются или совпадают |
27.09.2009, 10:34 | #2 |
Форумчанин
Регистрация: 16.04.2009
Сообщений: 247
|
Код:
Проверишь d - если d = 0, то прямые параллельны(а значит, возможно, совпадают). Последний раз редактировалось megachuhancer; 27.09.2009 в 10:41. |
27.09.2009, 10:52 | #3 |
Пользователь
Регистрация: 04.06.2009
Сообщений: 45
|
у прямых точка пересечения одна (за исключением случаев совпадения и параллельности)
тут надо всего лишь провести анализ формул: общий вид прямой: y=kx+b, следовательно для 2-х прямых y1=k1x+b1 и y2=k2x+b2 точка пересечения имеет координаты (приравнять правые части) (x=(b2-b1)/(k1-k2), y = y1(x) или y=y2(x) ); так же: если k1=k2 и b1=b2 - прямые совпадают (формулы одинаковые) если k1=k2 и b1 != b2 - прямые параллельны (углы наклона одинаковые а смещение различно). в твоем случае: a1x+b1y=c1 получаем y=(c1-a1x)/b1, т.е. k=-a1/b1, b=c1/b1, аналогично для второй.
Я спокойный, вежливый и уравновешенный человек
|
27.09.2009, 12:02 | #4 |
Форумчанин
Регистрация: 16.04.2009
Сообщений: 247
|
Ax + By + C = 0 круче. Можно задать прямые параллельные оси y, не рассматривая частные случаи.
К предыдущему своему посту могу добавить, что если прямые параллельны, то совпадают они, когда c1 = c2 Последний раз редактировалось megachuhancer; 27.09.2009 в 12:06. |
27.09.2009, 14:07 | #5 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
еще нужно указать если прямая не существует
при каких условиях она может не существовать? |
27.09.2009, 14:14 | #6 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
и можно еще пример рабочего кода
|
27.09.2009, 15:00 | #7 |
Пользователь
Регистрация: 17.07.2009
Сообщений: 91
|
рабочий код не нужен
но прямые могут совпадать не только когда a1=a2 b1=b2 но и когда x*a1=a2 x*b1=b2 x*c1=x*c2 |
28.09.2009, 04:54 | #8 | |||
Форумчанин
Регистрация: 16.04.2009
Сообщений: 247
|
Цитата:
Цитата:
Цитата:
См. также http://programmersforum.ru/showthread.php?t=64057 Последний раз редактировалось megachuhancer; 28.09.2009 в 05:06. |
|||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Движение двух точек. | alien608 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 11.05.2009 19:49 |
Определить какая из точек находится ближе к началу координат(алгоритм ветвления). | Rakfeller | Паскаль, Turbo Pascal, PascalABC.NET | 16 | 25.01.2009 02:01 |
(С++)построить окружность, проходящую через k>=3 точек каждого из двух множеств... | Suitable | Помощь студентам | 1 | 18.01.2009 23:19 |
Алгоритм поиска... | Johnson | Общие вопросы Delphi | 1 | 26.10.2008 08:35 |