IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Пересекаються ли отрезки
RathaR
сообщение 1.01.2010 19:03
Сообщение #1


Знаток
****

Группа: Пользователи
Сообщений: 346
Пол: Мужской
Реальное имя: Иван

Репутация: -  7  +


Привет всем в Новом Году smile.gif
Вспомнилась мне, задачка, которая фигурировала в цитате с баша, а именно:
"Даны координаты начала и конца двух отрезков, определить пересекаються ли они".
Вот я и задумался над этим... в голову пришел лишь один алгоритм:
1) У нас даны координаты 4 точек, запишем их в таком порядке, чтобы образовался полигон(для нахождения диагоналей).
2) Находим площадь этого полигона(половина произведения диагоналей на синус угла между ними).
3) Сравниваем полученый результат с половиной произведения наших отрезков на синус угла между ними.
4) Если площади совпали, значит отрезки являються диагоналями, а следовательно пересекаються, если нет, значит не перезекаються.
Если какая либо из заданых точек принадлежит другому отрезку, это ведь ничего не меняет, всерамно должен работать. Длинну отрезков по координатам найдем легко, углы между отрезками можна найти через модуль разности углов под которым расположен каждый из отрезков к горизонтали. А сами углы находим через арктангенс в паскале. Следовательно при реализаии проблем возникнуть не должно... но мне интересно, как еще можно решить эту задачу(желательно по проще)? Визуально-графический метод не предлагать smile.gif

Сообщение отредактировано: RathaR - 1.01.2010 19:03


--------------------
Считающий себя единственым здравомыслящим человеком сумасшедший? Если да, возможно я псих...
Пусть умолкнет всякий критик!
Я - системный аналитик!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
TarasBer
сообщение 7.01.2010 14:47
Сообщение #2


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


[offtop]
Вот вы опять всё приняли на свой счёт. Хотя у меня здесь ни с кем счётов нет. А смайлы ставить я НЕ буду - это моё право, и не надо мне их навязывать, тем более, что сто лет без них как-то жили, и ничего.

Хорошо, я извиняюсь за шутку перед всеми, кто её не понял.
[/offtop]
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 7.01.2010 23:27
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Вот и хорошо ))


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
RathaR   Пересекаються ли отрезки   1.01.2010 19:03
Lapp   мне интересно, как еще можно решить эту задачу(жел...   1.01.2010 19:45
andriano   Сразу споткнулся на: А каков, собственно, критерий...   2.01.2010 11:13
TarasBer   2. Решаем полученную систему уравнений, получая к...   5.01.2010 15:53
sheka   Подставляем в левую часть концы второго отрезка. ...   5.01.2010 18:17
RathaR   Искал... не нашел ничего похожего... Непонял... ...   2.01.2010 17:05
sheka   100пудово решал бы именно так, как предложил andri...   2.01.2010 18:30
RathaR   могу предложить извращенный вариант :lol: исполь...   3.01.2010 13:21
Lapp   Искал... не нашел ничего похожего...Вах! )) От...   3.01.2010 22:44
RathaR   Вах! )) [url=http://forum.pascalnet.ru/index....   3.01.2010 23:33
Lapp   Недосмотрел, бывает :rolleyes: Хотя и не мудрено, ...   4.01.2010 3:38
andriano   Но там ведь реализован метод через уравнения прям...   4.01.2010 11:41
Unconnected   А как по координатам можно записать уравнение пр...   4.01.2010 22:10
RathaR   А как по координатам можно записать уравнение пря...   4.01.2010 22:18
Unconnected   Ага, спасибо, википедия лучше гугла иногда)   4.01.2010 22:42
andriano   википедия лучше гугла Это в перлы. Нет, можно, к...   5.01.2010 11:32
RathaR   Это в перлы. Да ладно, чего к словам то придират...   5.01.2010 14:23
TarasBer   И название темы поправте, а то глаза режеть.   5.01.2010 17:20
Lapp   И название темы поправте, а то глаза режет[color=#...   6.01.2010 0:00
andriano   TarasBer, выразись, пожалуйста, конкретнее, какую ...   6.01.2010 0:03
Lapp   Прежде, чем выделять красным предполагаемую ошибку...   6.01.2010 1:01
RathaR   внимательно перечитал название темы. эм... я в н...   6.01.2010 2:38
Lapp   стараюсь как могу,Именно так. И это главное. Я, в...   6.01.2010 3:00
TarasBer   > а по сабжу "пересекаються" поправля...   6.01.2010 13:36
Lapp   А в украинском разве нет правил тся-ться? Впрочем,...   7.01.2010 1:40
TarasBer   Вот вы опять всё приняли на свой счёт. Хотя у мен...   7.01.2010 14:47
Lapp   Вот и хорошо ))   7.01.2010 23:27
sheka   То же самое, но чуть больше слов :) http://users.l...   13.08.2012 16:48


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 23.07.2025 12:44
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"