|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alex Cvetkov 2:5030/1334 30 May 2001 12:40:56 To : Anatoly Saveliev Subject : Определение площади фигуры --------------------------------------------------------------------------------
29 May 01 17:13, Anatoly Saveliev писал(ла) All:
AS> 1. Берем для каждого круга охватывающий прямоугольник (точнее квадрат)
AS> 2. Сортируем квадраты лексикографически по лувому нижнему углу (если
AS> круги разбросаны равномерно, при 5000 объектов достаточно сортировки
AS> по X) 3. Для каждого круга находим сначала потенциальных
AS> "пересеченцев" (по квадратам, сначала дихотомический поиск первого,
AS> потом просмотр списка, пока не вылезем за границу своего квадрата),
AS> затем реальных. Сохраняем факт пересечения и его площадь в списке. 4.
AS> Рассматривая список как ребра графа, определяем его компоненты
AS> связности (алгоритм есть в Кнуте и Ахо, Ульмане). 5. Идем по
AS> компоненте связности, складывая площади кругов и вычитая пересечения.
А как этот алгоритм учитывает тройное пересечение (когда пересекаються сразу три
круга)?
Alex Cvetkov
---
* Origin: Life suxx (2:5030/1334)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/27643b14ea92.html, оценка из 5, голосов 10
|