Terrain Deformation Software
Progress Report

for Feb 8, 2006

Progress on the Terrain Deformation Software (TDS) has been in the experimental stages including running prototype algorithms to test for quality performance and feasibility. Several stages have been traversed, including the following steps:

  • OpenSceneGraph infrastructure for loading of target databases and OpenFlight terrain databases
  • Development of the ESRI Shape loader for the loading of targets (continuing work)
  • Improvements to the OpenFlight database (continuing work).
  • Development and experimentation with terrain deformation algorithm in multiple parts.

In summary, the results of running the Terrain Deformation algorithm can be observed in the frame below. Click on Before TDS to see an image of a scene with multiple targets, not well aligned to a terrain database. Click on After TDS and see the results of applying the algorithm to the terrain. Note that targets remain fixed and the terrain is modified to accomodate the target positions and shapes.

The steps to applying the TDS are outlined here.

1. Create Correction Space Mesh

The Correction Space Mesh (csm) is created by generating a list of vectors obtained by querying the periphery of each target (the "bottom" of which is determined somewhat arbitrarily and assumed at this stage to be flat). The corners of the terrain block to be deformed are then added to the list of vectors. The list of vertices is then triangulated, resulting in a list of triangles deemed the CSM.

This Correction Space Mesh will then be used to compute a correction function for each triangle in the CSM, which can then be applied to any point on the terrain falling withing the periphery that triangle.

2. Terrain Triangle Subdivision

The terrain block is traversed and all triangles are tested for a fit to the curvature of the correction function in the CSM. That is, each edge is tested for deviation of the altitude of the linear interpolation between the end points at the center and the altitude would the correction function be applied at the center. The result is the subdivision of triangles that do not adequately represent the curvature of the terrain with the correction function applied.

It is important to note that the subdivision of triangles does not apply the correction function yet. Subdivisions are made in latitude and longitude only and the altitude at each newly generated point is the linear interpolation between the end points. The reason for this is that the correction function must be applied only once to all points, or multiple corrections will occur with negative results.

The above is shown with factors exagerated for the purpose of illustrating subdivisions.

3. Application of Correction Function

Once new coordinates have been generated for the triangle subdivisions, the correction function may then be applied. Each of the points in the terrain is placed within the triangle of the CSM it corresponds to, and the correction function is then applied to the point and the altitude of the point is corrected to conform to the new position.

Before re-triangulating, a two steps are taken to insure further quality.

  • The vertecies used to create the CSM (defined as the "bottom" of the targets in the target database) are added to the terrain database. This insures that the targets will adhere to the surface of the terrain with no spaces between the edges of the periphery of each target and the terrain itself.
  • The vertices on the terrain that lie within the bounds of the "bottoms" of the targets are corrected to have the same altitude as the bottom of the corresponding target. Although the correction function has already been applied to these points, the discrepancy between the altitude produced by the correction function and the bottom of the targets can result in spaces between target periphery points.

Progress Demonstration

The following provides a visual representation of progress on the terrain deformation algorithm.

Please click here for a demonstration.