forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Математика (http://forum.boolean.name/forumdisplay.php?f=85)
-   -   Пересечение отрезка с масивом отрезков (http://forum.boolean.name/showthread.php?t=5266)

SBJoker 11.12.2007 20:31

Пересечение отрезка с масивом отрезков
 
Собствено сабж, нужно определить пересекается ли наш отрезок с каким либо из массива отрезков... Отрезки представлены плоскими прямоугольными координатами 2х точек их концов.

Решение проблемы "влоб" - в цикле перебирает все отрезки и проверяем каждый на пересечение с исходным..

Оценка производительности О(N) в худшем случае, и O(N/2) в среднем... что есть достаточно много.

Вопрос как извавиться от полного перебора? Можед деревья?

jimon 11.12.2007 21:35

Re: Пересечение отрезка с масивом отрезков
 
SBJoker
координаты отрезков которые в масиве часто меняются ?
если нет - то octree и прочие деревья тут имеют место быть
если да - сам задаюсь таким вопросом

SBJoker 11.12.2007 22:01

Re: Пересечение отрезка с масивом отрезков
 
Нет отрезки статичны дальше некуда... поясни про octree или линкой или примером..

jimon 11.12.2007 22:13

Re: Пересечение отрезка с масивом отрезков
 
ответил тут http://www.boolean.name/showthread.p...0082#post70082

SBJoker 13.12.2007 13:24

Re: Пересечение отрезка с масивом отрезков
 
Да quadtree дал 10 кратный прирост общей производительности..т.е. сам квадтри дал куда большую скорость на отдельной задаче нахождения пересечений.

jimon 13.12.2007 13:55

Re: Пересечение отрезка с масивом отрезков
 
SBJoker
тоесть O(log(N)) все же достигли ? :) или там ~O(log(N)*2) ?

moka 13.12.2007 14:15

Re: Пересечение отрезка с масивом отрезков
 
Про перебор хз, но вот насчёт проверки перед коллизией, на BB (Bounding Box) обязательно нужно, и это увеличит производительность на много.
Вот кстати функции если нужно.


Часовой пояс GMT +4, время: 09:30.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot