Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2010, 12:05   #1
Greek9000
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 151
По умолчанию Пространственный индекс R-Tree

Задача:
Имеется ~10 млн. многоугольников размеры которых могут очень сильно варьироваться (~1 млн. раз).
Требуется выбрать из этого списка N многоугольников попадающих в область экрана, таких, что бы они были не слишком большими (что бы не накрывали область полностью) и что бы были не слишком маленькими (что бы их при отрисовке было видно).
Знает ли кто нибудь быстрые алгоримы (быстрее линейных) для решения подобных задач?

Теперь, собственно, почему тема про R-Tree.
Если использовать подобные индексы, то при большом масштабе почти все 10 миллионов прямоугольников попадут в область просмотра, а так как дерево индекса сбалансировано по высоте, то выбрать из них N подходящих можно только полностью перебрав весь список.
Если список отсортировать в порядке увеличения размера, тогда его не получается проиндексировать в виде R-Tree.

Есть ли выход из этого тупика?
И ещё, если у кого-нибудь есть более или менее нормальная реализация какого-нибудь R-Tree алгоритма на Delphi - скиньте пожалуйста.

Последний раз редактировалось Greek9000; 11.05.2010 в 12:13.
Greek9000 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аналог tree на C# (вывод содержимого каталогов) LepihinMS Общие вопросы .NET 8 22.03.2019 15:51
BST - Binary Search Tree Swool Общие вопросы C/C++ 1 15.10.2009 17:03
Binar Tree cppta Общие вопросы C/C++ 0 14.10.2009 14:17
Удаление в tree Черничный Общие вопросы Delphi 2 24.05.2008 10:43
Подскажите как прописывать Item, в дереве Tree View, чтобы при выдлении в Мемо загружался файл Yurek Компоненты Delphi 5 08.11.2007 22:49