Помогите решить задачу!
Пусть n прямых на плоскости, заданных своими вершинами расположенными в произвольном порядке. Найти вершины наименьшего по площади многоугольника, содержащего данную точку А.
Сообщение отредактировано: Цири -
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Цири |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Женский Реальное имя: Лена Репутация: ![]() ![]() ![]() |
Помогите решить задачу! Пусть n прямых на плоскости, заданных своими вершинами расположенными в произвольном порядке. Найти вершины наименьшего по площади многоугольника, содержащего данную точку А. Сообщение отредактировано: Цири - |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Пусть n прямых на плоскости, заданных своими вершинами расположенными в произвольном порядке. Найти вершины наименьшего по площади многоугольника, содержащего данную точку А. Цири, обясни пожалуйста - при чем тут множества?? Если речь идет о множестве прямых, то это странно, а если тебе нужно использовать в проге паскалевские множества - то почему не сказал? Да и к какому месту их прикрутить?.. Задача непростая, причем в основном с точки зрения алгоритма. Я набросаю основную идею (что пришло в голову). 1. Выбираем прямую L, наиболее близкую к т.А 2. Находим основание перпендикуляра, опущенного из A на L (назовем K) 3. Находим все точки пересечения L с остальными прямыми (Mj). 4. Выбираем из них ближайшую к K, для которой векторное произведение (KA x KMj) больше нуля; называем ее N. 5. Повторяем все действия начиная с п.3 с прямой Lj (которая породила Mj=N) в качестве L и точкой N в качестве K. Запоминаем все точки N в массиве. 6. Выходим тогда, когда очередная Lj оказывается начальной прямой L. Для облегчения восприятия добавлю, что это есть обход точки А по часовой стрелке начиная с ближайшей прямой. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цири, здесь:
Цитата Найти вершины наименьшего по площади многоугольника, содержащего данную точку А что понимается под "МНОГОугольником"? Трех? Четырех? N-угольник? Выпуклость его имеет значение? |
Цири |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 5 Пол: Женский Реальное имя: Лена Репутация: ![]() ![]() ![]() |
Цири, обясни пожалуйста - при чем тут множества?? Если речь идет о множестве прямых, то это странно, а если тебе нужно использовать в проге паскалевские множества - то почему не сказал? Да и к какому месту их прикрутить?.. Методичку из которой я взяла задачу составляли ИДИОТЫ. И эта задача как там написано на множества и предполагаю что речь идет о множестве прямых. Такой алгоритм я и сама составить могу, а что - то поближе к Паскалю можно? Цири, здесь: что понимается под "МНОГОугольником"? Трех? Четырех? N-угольник? Выпуклость его имеет значение? НЕЗНАЮ. Как написано в методичке я так и написала. А если бы в голове хоть какие то варианты по этой задачи были я ее сама бы сделала. |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Ну, тогда извини, и решай сама...
Тебе же пытаются помочь, ты же еще и огрызаешься.. Нехорошо. ![]() |
Lapp |
![]()
Сообщение
#6
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Volvo, поскольку речь идет о пересечении прямых, и сказано, что многоугольник минимальный по площади, то ясно, что невыпуклым он быть просто не может. Что касается "много" - то это как получится. Проще всего набросать на бумагу несколько прямых, а потом попроставлять точки в разные псевдослучайные места - ситуация сразу проясняется. Задача составлена вполне толково, вот только с множествами кто-то (или они, или она, я склоняюсь к последнему) прошибся..
Цири, конечно, самомнения не занимать.. Я не буду возражать, если ты сотрешь мой алгоритм. Или скажи, что не возражаешь - я сам сотру. Пусть повторит хотя бы.. ![]() Не надо ничего удалять ![]() Сообщение отредактировано: volvo - -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
arhimag |
![]()
Сообщение
#7
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: ![]() ![]() ![]() |
Есть идея взять все возможные треугольники вычеслитьт их стороны, дальше вычеслить их площадь по формуле Герона а дальше просто посмотреть у какого треугольника будет площадь наименьшая, и вершина его - А и тогда это будет многоугольник с наименьшлей площадью с вершиной в точке А.
-------------------- Чего хочет женщина – того хочет Бог
|
Гость |
![]()
Сообщение
#8
|
Гость ![]() |
Тебе же пытаются помочь, ты же еще и огрызаешься.. Нехорошо. ![]() Необижайся я не огрызаюсь а говорю как есть. Сама непойму что там хотят в этой задаче. Эта задача с методички в которой одни условия задач без комментариев. А по данному предмету у нас предусмотрены только практические занятия без лекционных. Вот таки дела. Volvo, поскольку речь идет о пересечении прямых, и сказано, что многоугольник минимальный по площади, то ясно, что невыпуклым он быть просто не может. Что касается "много" - то это как получится. Проще всего набросать на бумагу несколько прямых, а потом попроставлять точки в разные псевдослучайные места - ситуация сразу проясняется. Задача составлена вполне толково, вот только с множествами кто-то (или они, или она, я склоняюсь к последнему) прошибся.. Ты прав это она да еще и не одна их две. Надо попробывать твой вариант и подключить к задаче мозг а то он у меня скоро атрафируется. |
![]() ![]() |
![]() |
Текстовая версия | 22.04.2025 8:28 |