Full text: Proceedings; XXI International Congress for Photogrammetry and Remote Sensing (Part B1-1)

The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part Bl. Beijing 2008 
466 
of node 1, 2, 4 and 5, and are separated by the three lines too. 
Thus, the traversing sequence should be: 
[1] [2, 4, 5] [3, 6, 8] [7] 
Figure 3. A cube which has a root and eight sub 
nodes. 
Add a variable i for marking the traversing sequence and the 
initial value is 0. Test the three-dimensional coordinates 
respectively, if a coordinate of viewpoint is not in the node’s 
bound, the node’s i will add one. When traversing the eight 
sub-nodes, variable i gives the sequence. 
The pseudo-code is below: 
int node.calculateFrontOrBack() 
{ int i=0; 
for(intj=0;j<3;j++) 
if(!(eye[i] Enode. bound)) 
i++; 
return i; 
} 
tree.walkNode() 
{... 
for(intj=0;j<4;j++) 
for(int k=0;k<8;k++) 
if(subNode[i], i==j) 
tree. walkNode(subNode[i]); 
...} 
For the issue of managing large volume of LiDAR data using 
local KD trees, we choose octree to determine the bound of 
local KD trees. Data are put into RDBMS in specific order in 
pre-process, the KD trees are computed during run time, and 
local KD trees can be quickly built by reading data from the 
database. We also make some improvements on other details. 
These methods are suitable for large amount of data, and can 
achieve a satisfactory processing speed. 
representational point instead of drawing all of them. The small 
area usually to be defined as a pixel and the representational 
point can be the point that splits the node into two. 
Based on this idea, it’s needed to get two-dimension 
coordinates on screen from any point after projection. The 
region’s size consisting of the points’ two-dimension 
coordinates on screen will determine whether its sub-nodes will 
been shown or not. 
Calculating screen coordinates is very simple in orthographic 
projection. In perspective projection, the formula for 
calculating is shown below. 
Let eye position to be eye[3], view[3] means the direction of 
view, and up[3] indicates which direction is up. Calculating the 
vector multiplication exterior, make a coordinate system, eye[3] 
as the origin, exterior as X axis, up as Y axis, view as Z axis. 
For any data P, its projection is indicated in Figure 4. So the 
point P’ will be the mapped point of P on screen. The lengths of 
E’P’ and A’P’ will be the X and Y coordinates of P’. 
Figure 4. The eye position is point O, view is Z-axis, 
up is Y-axis, and exterior is X-axis. 
OD’ is the distance from P’ to the XY plane, its length can be 
count by the frustum and the size of scene. Because of 
FE' _ A'D' _ AD _ PE 
OD' ~ OD'~ OD~^4B 
FÄ _ OÄ _ OD' OD' 
PA ~ OA~ ~OD ~ ~AB 
4. DISPLAY PRECISION 
In displaying LiDAR data using local KD trees, there may be 
some trees or nodes which are far from the viewpoint. Drawing 
these trees or their nodes has less effect to the observer. 
Consider a node far from the viewpoint that the region of data’s 
projection on screen is only one pixel, despite how many points 
the node contains. So only one point can be drawn instead of 
drawing hundreds, even thousands of points from the node. 
Based on this principle, we use the concept of screen precision 
to control display based on local KD tree. That is, if a small 
area on the screen contains many points, we only draw a 
, we can get: 
P'E'= — *OD' P' E'= OD' 
AB AB 
? 
PA, PE and AB respectively are the distance from P to plane 
XZ, YZ and XY. So we could get the length of E’P’ and A’P’. 
In order to examine a node’s precision, we need to calculate all 
points in it, he process is time-consuming and very expensive.
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.