LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

1. Все исходные точки заключены внутри большого квадрата.

2. Разбиваем этот квадрат на 4 квадратика меньшего размера.

3. Каждый получившийся квадратик снова разбиваем на 4 равных части.

4. Рекурсивно повторяем разбиение плоскости и строим «квадродерево» (т.н. Quadtree). В листьях этого дерева сохраняем наборы наиболее близких друг ко другу точек, либо отдельные точки.

5. Встаем внутри исходного большого квадрата в любую точку и начинаем поиск по квадро-дереву, в какой ветке эта точка могла бы находиться. В конце концов в процессе поиска дойдем до листочка дерева, в котором хранятся точки наиболее близкие к данной.

6. Если от найденного листочка подниматься обратно к «вершине» дерева, то в этих ветках будут точки, которые расположены все дальше и дальше от той, на которую мы «встали» на 5-м шаге.

Разбиение квадратной части плоскости в «квадродерево» сходно с разбиением кубической части пространства в разреженное воксельное октодерево - Sparse Voxel Octree (сокращенно S.V.O.), которое применяется в компьютерной графике.

google://Sparse Voxel Octree

Исправление Deleted, :

1. Все исходные точки заключены внутри большого квадрата.

2. Разбиваем этот квадрат на 4 квадратика меньшего размера.

3. Каждый получившийся квадратик снова разбиваем на 4 равных части.

4. Рекурсивно повторяем разбиение плоскости и строим квадро-дерево (т.н. Quadtree). В листьях этого дерева сохраняем наборы наиболее близких друг ко другу точек, либо отдельные точки.

5. Встаем внутри исходного большого квадрата в любую точку и начинаем поиск по квадро-дереву, в какой ветке эта точка могла бы находиться. В конце концов в процессе поиска дойдем до листочка дерева, в котором хранятся точки наиболее близкие к данной.

6. Если от найденного листочка подниматься обратно к «вершине» дерева, то в этих ветках будут точки, которые расположены все дальше и дальше от той, на которую мы «встали» на 5-м шаге.

Разбиение квадратной части плоскости в «квадро-дерево» сходно с разбиением кубической части пространства в разряженное воксельное окто-дерево - Sparse Voxel Octree (сокращенно S.V.O.), которое применяется в компьютерной графике.

google://Sparse Voxel Octree

Исправление Deleted, :

1. Все исходные точки заключены внутри большого квадрата.

2. Разбиваем этот квадрат на 4 квадратика меньшего размера.

3. Каждый получившийся квадратик снова разбиваем на 4 равных части.

4. Рекурсивно повторяем разбиение плоскости и строим квадро-дерево (т.н. Quadtree). В листьях этого дерева сохраняем наборы наиболее близких друг ко другу точек, либо отдельные точки.

5. Встаем внутри исходного большого квадрата в любую точку и начинаем поиск по квадро-дереву, в какой ветке эта точка могла бы находиться. В конце концов в процессе поиска дойдем до листочка дерева, в котором хранятся точки наиболее близкие к данной.

6. Если от найденного листочка подниматься обратно к «вершине» дерева, то в этих ветках будут точки, которые расположены все дальше и дальше от той, на которую мы «встали» на 5-м шаге.

Разбиение квадратной части плоскости в «квадро-дерево» сходно с разбиением кубической части пространства в разряженное воксельное окто-дерево - Sparsed Voxel Octree (сокращенно S.V.O.), которое применяется в компьютерной графике.

google://Sparsed Voxel Octree

Исходная версия Deleted, :

А если попробовать сделать так?

1. Все исходные точки заключены внутри большого квадрата.

2. Разбиваем этот квадрат на 4 квадратика меньшего размера.

3. Каждый получившийся квадратик снова разбиваем на 4 равных части.

4. Рекурсивно повторяем разбиение плоскости и строим квадро-дерево (т.н. Quadtree). В листьях этого дерева сохраняем наборы наиболее близких друг ко другу точек, либо отдельные точки.

5. Встаем внутри исходного большого квадрата в любую точку и начинаем поиск по квадро-дереву, в какой ветке эта точка могла бы находиться. В конце концов в процессе поиска дойдем до листочка дерева, в котором хранятся точки наиболее близкие к данной.

6. Если от найденого листочка подниматься к обратно «вершине» дерева, то в этих ветках будут точки, которые расположены все дальше и дальше от той, на которую мы «встали» на 5-м шаге.

Разбиение квадратной части плоскости в «квадро-дерево» сходно с разбиением кубической части пространства в разряженное воксельное окто-дерево - Sparsed Voxel Octree (сокращенно S.V.O.), которое применяется в компьютерной графике.

google://Sparsed Voxel Octree