Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [3]  Все   Вниз
  Печать  
Автор Тема: Чисто программисткие задачки  (Прочитано 46113 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #60 : 03-08-2005 13:08 » 

я ступил, немного, насчет замкнутости - имелось ввиду что линия(периметр) не самопересекающаяся.
Записан

Удачного всем кодинга! -=x[PooH]x=-
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #61 : 03-08-2005 15:33 » 

ALf, можно уточнить, эта формула для всех видов фигур. Или только для выпуклых?
Цитата

Это формула для многоугольников без самопересечений.
В том случае, когда есть самопересечения, формула даёт неожиданные ответы.
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
Alf
Гость
« Ответ #62 : 03-08-2005 18:52 » 

На самом деле формула дает положительное значение площади в случае обхода контура против часовой стрелке и отрицательное - по часовой стрелке (100% гарантию не дам, возможно и наоборот). В случае, когда контур самопересекающийся, направление обхода меняется, соответственно и значение получается на первый взгляд странное. В этом случае следует разбить контур на два и более контуров без подобных аномалий и считать площадь каждого из них отдельно. Тем более что с точки зрения топологии площадь самопересекающегося контура - само по себе неожиданное явление.
Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #63 : 04-08-2005 05:24 » 

а как можно площать такой фигуры подсчитать?

ЗЫ. Где можно почитать как вставлять картинки в пост?

* figure.bmp (1.53 Кб - загружено 1042 раз.)
Записан

Удачного всем кодинга! -=x[PooH]x=-
Alf
Гость
« Ответ #64 : 04-08-2005 10:42 » 

"Такой фигуры" - в смысле самопересекающейся?

Если самопересечение в виде восьмерки, то сначала найти точки самопересечения контура и разбить на несколько непересекающихся, а затем подсчитать площадь каждой такой фигуры отдельно. Потому как некошерно, когда ограниченная контуром область в процессе обхода оказывается то справа, то слева от границы.

Для данной фигуры:



я бы сначала попросил автора заштриховать область, площадь которой подлежит вычислению. Потому как непонятно, должна ли внутренняя область вычитаться из внешней либо поглощаться ею.
« Последнее редактирование: 04-08-2005 10:48 от Alf » Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #65 : 04-08-2005 10:47 » 

В том-то и дело что у нарисованной мной фигуры однозначно вообще площадь определить нельзя - не понятно: входит внутренняя петля в площадь или нет. И если "Найти точки самопересечения контура и разбить на несколько непересекающихся", то площадь внутренней петли посчитается два раза или не посчитается вообще Жаль

ЗЫ: а как насчет предыдущего "ЗЫ"? Имеется ввиду: не аттачить, а прям в пост вставить.
« Последнее редактирование: 04-08-2005 10:49 от PooH » Записан

Удачного всем кодинга! -=x[PooH]x=-
Alf
Гость
« Ответ #66 : 04-08-2005 10:49 » 

См. исправленный пост выше.
Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #67 : 04-08-2005 10:52 » 

так автора нет! Улыбаюсь Есть условие задачи! В котором  указано: "в массиве даны точки описываюшие любую фигуру." Вот я и запостил, что при отсутствии доп. ограничений задача неразрешима (в общем).
« Последнее редактирование: 04-08-2005 10:53 от PooH » Записан

Удачного всем кодинга! -=x[PooH]x=-
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #68 : 05-08-2005 09:36 » new

Из опыта общения со специалистами по графическим алгоритмам могу выдвинуть такую формулировку задачи: найти площадь внутри минимального охватывающего контура .
Охватывающий контур -- замкнутая несамопересечённая линия (контур), которая содержит внутри все точки многоугольника.  Минимальный охватывающий контур -- охватывающий контур, который содержится в любом другом охватывающем контуре.  В примере это многоугольник, который получится стиранием внутренней петли.
« Последнее редактирование: 25-11-2007 21:24 от Алексей1153++ » Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
Страниц: 1 2 [3]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines