Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Anatoly Zhmur                        2:5030/638.12  02 Jun 2001  09:49:40
 To : Fyodor Korzhov
 Subject : Определение площади фигуры
 -------------------------------------------------------------------------------- 
 
 
 Пятница Июнь 01 2001, Fyodor Korzhov писал(а) Alex Cvetkov:
 
  FK> Именно Монте-Каpло я сейчас и пользyю. Пpи yвеличении точности вpемя
  FK> пpосчета ой как yвеличивается. Совсем он неоптимальный - нyжно
  FK> что-нить лyчшее. Я пытался что-нить пpидyмать типа: два кpyга -> два
  FK> сектоpа + два тpеyгольника (все площади считаются элементаpно), с
  FK> пpедваpительной соpтиpовкой и выкидыванием пеpекpывающихся. Hо там
  FK> сложности с пеpесечением нескольких кpyгов...
 
     Читал доказательство одной теоремы в матанализе, по ходу дела родился
 алгоритм решения решения этой задачи. Похоже его сходимость к решению близка к
 экспоненциальной.
 
 Данные:
 Счетчик занятой площади(ЗП)
 Счетчик свободной площади(СП)
 Общая площадь(ОП)
 Очередь для хранения ячеек
 Ячейка содержит координаты левого нижнего и правого верхнего угла, а так же
 массив указателей на шары(МУШ), которые имеют с ячейкой общие точки.
 Массив шаров.
 EPS - требуемая точность.
 
 Инициализация:
 Загрузить массив шаров.
 Создать ячейку которая включает все шары(и заполнить ее МУШ).
 ОП = площадь этой ячейки.
 Поместить ячейку в очередь.
 ЗП = 0; СП = 0;
 
 Главный цикл:
 пока (ОП - ЗП - СП>=EPS) делать
 взять из очереди ячейку
 Возможны следующие случаи(дизъюнктные):
 а) ячейка имеет пустой МУШ, тогда добавить ее площадь к СП.
 б) ячейка полность накрыта одним из шаров ее МУШ, тогда добавить ее площадь к
 ЗП.
 в) ячека имеет всего один шар в МУШ который ее полностью не накрывает, тогда
 можно точно(аналитически) вычислить часть закрытую шаром и соответсвенно
 увеличить СП и ЗП.
 г) иначе разбить ячейку на четыре ячейки, вычисить их МУШ на основе МУШ текущей 
 ячейки и поместить их в очередь.
 
 Плохими точками для этого алгоритма являются точки пересечения окружностей, но
 этих точек скорее всего не много и в их окрестности алгоритм хорошо сходится.
 
 PS О том как эффективно организовать выполнения вычислений и проверок, а так же 
 как организовать очередь сознательно не пишу. Разберешься сам.
 
     SY, Anatoly.
 
 --- GoldED/W32 3.0.1
  * Origin: none (2:5030/638.12)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Определение площади фигуры   Fyodor Korzhov   29 May 2001 19:00:55 
 Определение площади фигуры   Alex Cvetkov   30 May 2001 12:39:29 
 Определение площади фигуры   Fyodor Korzhov   01 Jun 2001 00:29:30 
 Определение площади фигуры   Anatoly Zhmur   02 Jun 2001 09:49:40 
 Определение площади фигуры   Uriy Iovkov   05 Jun 2001 13:29:17 
 Определение площади фигуры   Dan Raskovalov   31 May 2001 13:57:43 
Архивное /ru.algorithms/239823b18b6d3.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional