|
|
|
Proger10 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 312 Регистрация: 16.12.2008 Репутация: нет Всего: нет |
У меня такая формула для нахождения пересечения отрезков, заданными координатами:
x1,y1 - начальная точка первого отрезка x2,y2 - конечная точка первого и аналогично для второго: x3, y3 и x4,y4. Формула:
Проблема в том, что я не знаю, что делать с тем, когда второй отрезок вертикальный и знаменатель получается равен нулю. Как работать с этой неопределённостью? Или у меня в формуле ошибка? Предварительно я проверяю - существует ли вообще там точка пересечения. Может, кто скинет получше алгоритм нахождения точки пересечения? |
|||
|
||||
Lipetsk |
|
|||
в форме ;) Профиль Группа: Участник Сообщений: 180 Регистрация: 28.1.2009 Где: Липецк Репутация: 2 Всего: 5 |
больше похоже на формулу точки пересечения прямых заданных двумя точками
|
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 453 |
Ошибка не в формуле, а в методике. Сначала нужно определить, существует ли точка пересечения прямых, на которых лежат отрезки. Тупо по ненулевому значению главного определителя соотв. СЛАУ. Если оно нулевое - определяешь, совпадают эти прямые или параллельны. Если не совпадают - пересечения нет. Если совпадают - проверяешь, накладываются отрезки или нет. Если накладываются - пересечение есть (вершиной или отрезком). Если оно ненулевое - считаешь координаты точки пересечения, а затем проверяешь, лежит ли она на (любом) отрезке. Если да - это точка пересечения, а нет - значит нет. Так что эти твои формулы (даже если они верны, проверять лениво) - не первое, что следует считать. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Курсант |
|
|||
Опытный Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Маленькая поправочка - вычисленная точка пересечения должна лежать на каждом из отрезков.
|
|||
|
||||
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |