![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
Добрый день.
Как определить лежит ли точка на отрезке? С уважением... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Собственно, через уравнение прямой... Сформулируй поконкретнее.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 5 Всего: 18 |
Ничего себе!!! _hunter Вопосы задает! Никак волки сдохли. Ладно, звиняюсь.
Отрезок - не прямая. Конкретизируй. |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
просто на работе учебника по математике нет, а гугл формулы паршиво ищет ( или я запрос неправильный ввел... ): уравнение прямой, через две точки нашел только на 5-й странице...
значит так... конкретизирую: сейчас определение происходит так: сначала смотрю лежит ли точка на прямой, частью которой является этот отрезок. потом считаю сумму расстояний от точки до концов отрезка -- если она равна длине отрезка -- точка лежит на отрезке но что-то мне в этом способе не нравится ( что -- незнаю... ) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 5 Всего: 18 |
А просто ограничить прямую по х нельзя? Типа: если точка на этой прямой и находится правее левого и левее правого концов, то она на отрезке.
|
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20580 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
то что "с начала" - можно смело выкинуть... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
cardinal, дык кажись так и делаю... ( точнее по количеству вычислений аналогично получается )
Akina, т.е. просто сумму растояний посчитать и все? я, похоже перемудрил ![]() -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20580 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
Конечно... для каких точек, кроме точек отрезка, будет равенство? да ни для каких... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
Тоже логично ![]() http://forum.vingrad.ru/index.php?showtopi...ndpost&p=396640 Но если речь идет о программировании, то то что я предложил можно ИМХО спрограммировать лучше... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
ChofCh |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 27.4.2005 Где: г. Долгопрудный Репутация: 1 Всего: 2 |
Аналит рулит! Я провел не одну ночь в погоне за "кровавым FPS" и даже деления избегаю, не то что извлечения квадратного корня (а это прийдется делать, если искать расстояние между точками). Приведенный ниже код должен работать быстрее, чем предложенные в топике варианты.
Рассмотрим векторы a и b с началом в испытуемой точке и концами на концах отрезка: Тогда, если [a,b]=0 (ax*by-ay*bx=0), то испытуемая точка и концы отрезка лежат на одной прямой. Если концы отрезка лежат по разные стороны от испытуемой точки, то (a,b)<=0 (ax*bx+ay*by<=0) Итого для проверки на принадлежность необходимо выполнить всего 4 умножения. Это сообщение отредактировал(а) ChofCh - 14.5.2005, 16:19 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |