Title: A Linear Order Algorithm for Generating Isolines
1- A Linear Order Algorithm for Generating Isolines
- Â
- Â by
- Sanjeeb Nanda
- SDS International Inc., Advanced Technologies
Division - 3403 Technological Avenue, Suite 7
- Orlando, FL 32817
2Traditional Techniques for Generating
IsolinesThe Basis
- A Convex Hull on a set of DTED vertices
3A Modification to the Basis
- A Convex Hull on a set of DTED vertices
4The Results of Traditional Techniques
5The Drawback of Traditional Techniques
- Pseudo-Code for a Modified Convex Hull Algorithm
to Generate Isolines - Let P be a given set of points and S an empty
stack - Let p1 be the point in P having minimum
y-coordinate - Let p2, p3, , pN P p1, sorted by their
angle with p1 in counterclockwise order - TopS ? 0 Push (S, p1) Push (S, p2) Push (S,
p3) - Â
- for i ? 3 to N do
- while angle between points BelowTopS,
TopS, pi makes non-left turn, Push (S, pi) - Â
- return S
- Disadvantage This is a O(Nlog2N) algorithm where
N number of DTED vertices.
6The Drawback of Traditional Techniquesin
Practical Terms
- The previously shown technique requires
approximately 2 minutes to generate the isolines
for an area spanning 15 km x 15 km whose
corresponding elevation data is represented by a
grid of 513 x 513 DTED vertices on a platform
with 1 GB system memory and a 3.0 GHz system
processor. - That is slow and unacceptable for any field
application! - Prognosis
- A faster method with O(N) is required to solve
this problem!
7A New Technique Using Graphics Hardware
- Basis
- GL provides terrain lighting with considerable
realism when give the normal map for the grid of
DTED vertices corresponding to the texture of the
terrain overlying it. The normal map is comprised
of a vector corresponding to each vertex in the
grid that intuitively specifies the average slope
of the terrain at that point with respect to its
neighbors. - Motivation
- Can we create isolines employing such lighting
furnished by GL/Graphics card?
8A Normal Vector
- Nothing more than a simple cross product.
9Computing a Normal on a DTED Vertex
Notice that the vertex is adjacent to six
vertices wi, 1 i 6. So we take the average of
the cross products (u x wi).
10Displaying Isolines
Consider a stratification of DTED vertices, where
each vertex is placed in a strata with a minimum
and maximum heights of hmin and hmax
respectively. Furthermore each vertex qualifying
into such a strata has its elevation reset to the
value (hmin and hmax)/2. Then we can visualize
the result of this process yielding stacks of
plateaus. The edges of these plateaus would have
a 90o drop to the plateau beneath it.
Furthermore, these edges would have a normal that
is not normal to the x-y plane, where we assume
the z axis points vertically upwards (akin to the
UTM coordinate system). Now if we situate a
point light at infinite distance above the
terrain, the normal for each vertex at the edge
of a plateau would show up as a dark facet. If
the edge vertices are relatively close together,
then we would get a well-delineated contour line.
11Illustration of Normal for Edge Vertex
12Illustrations of the New Technique
13Advantage of the New Technique
The new technique requires the computation of a
normal vector for each DTED vertex by determining
the average of at most 6 normals (to at most 6
neighbors respectively). As a result the process
is O(N), where N is the number of DTED
vertices. In practical terms this advantage
translates to a huge difference. It requires less
than 2 seconds to generate the isolines for an
area spanning 15 km x 15 km whose elevation data
is represented by a grid of 513 x 513 DTED
vertices on a platform with 1 GB system memory
and a 3.0 GHz system processor. In other words,
the new technique is approximately 120 times
faster than the older technique it supplants.
Furthermore such results can be dynamically
computed.
14Uses for this Technique
- 2D Contour 3D Terrain Visualization
- Considerable amount of mission planning takes
place using 2D contour maps that provide accurate
scale of representation and avoid the problems of
foreshortening associated with 3D perspective
views. So having a tool that associates 2D
contour maps with their 3D topographical
counterparts is very useful.