Название: Пересечение объектов (структуры данных) Отправлено: Igors от Март 24, 2011, 14:04 Добрый день
Есть набор объектов в виде стандартной иерархии parent-child дерево. По умолчанию объекты не могут пересекаться друг с другом, но в UI пользователь может задать исключения (индивидуально для каждого объекта) - объект может пересекаться со своим parent'ом - объект может пересекаться с заданным множеством др. объектов Кроме того, если объект имеет "жесткую связь" с parent'ом, то пересечение разрешено независимо от установок пользователя Пересечение "взаимно", т.е. если A может пересекаться с B, то и B c A. Однако если напр. A и B могут пересекаться оба с одним и тем же множеством (напр. C. D, E), то это не значит что A и B могут пересекаться между собой. Задача построить такую структуру(ы) данных которая бы обеспечивала быстрый ответ на запрос о пересечении любых 2 объектов. Ваши предложения? Спасибо Название: Re: Пересечение объектов (структуры данных) Отправлено: SimpleSunny от Март 24, 2011, 14:53 Если А пересекается со множеством (В, С).
Значит ли это что В или С пересекается с А? Можно ли ввести отношения порядка для объектов? Название: Re: Пересечение объектов (структуры данных) Отправлено: ufna от Март 24, 2011, 15:13 Самое просто, имхо, квадродерево.
Более правильное - семейство R-деревьев. Еще более правильно - специализировать R-дерево под свои нужды. Название: Re: Пересечение объектов (структуры данных) Отправлено: Igors от Март 24, 2011, 15:34 Если А пересекается со множеством (В, С). Да, но это не значит что B пересекается c СЗначит ли это что В или С пересекается с А? Можно ли ввести отношения порядка для объектов? По-моему нет, не вижу как.Самое просто, имхо, квадродерево. Здесь "пересечение" - это как бы свойство просто (пока) хранимое в структурах данных. Как там в пространстве 3-х мерные объекты пересекутся во время движения - то др. вопрос. может еще и никаких "реальных" пересечений нет. А вот когда они возникнут - тогда и нужно (основываясь на заранее созданных данных) ответить разрешаем ли пересечение или нет.Более правильное - семейство R-деревьев. Еще более правильно - специализировать R-дерево под свои нужды. Название: Re: Пересечение объектов (структуры данных) Отправлено: ufna от Март 24, 2011, 16:13 Т.е. пока стоит задача только узнать о "перечесениях" на основе текущих данных и не более чем?
Название: Re: Пересечение объектов (структуры данных) Отправлено: Igors от Март 24, 2011, 17:57 Т.е. пока стоит задача только узнать о "перечесениях" на основе текущих данных и не более чем? Да, вернее "задать" (с помощью пользователя) |