next up previous
Next: 3.4 LOS Up: 3 Programs Written Previous: 3.2 R3

3.3 R2

R2 is an optimization of , that proceeds as follows.

  1. For each point on the perimeter of the range, calculate whether that point is visible by running a LOS from the observer to it, and checking the elevation of every point adjacent to the LOS, to see whether any will hide it.
  2. Then work along each line of sight, processing the points adjacent to it as if this were a one-dimensional problem as described above, to determine which points are visible. A particular point may receive several visibility estimates in a series as a sequence of LOS's "sweep" past it; it retains the estimate from the most spatial proximate LOS.
If the range is R, then R2 takes times proportional to R squared. The results from R2 are close to . In one test, we tried both methods from the same observer point on the SW quadrant of cell N37E127. The height of the LOS above each point, as calculated by each method differed by up to 67 meters, but the extreme was rare. The mean difference was -0.82 m, with the standard deviation 3.4 m. Also, of the 276,460 points in the region of interest, the algorithms agreed on the visibility of 273,144, or 98.8%. In return for this loss of accuracy, the execution time sped up from 896 CPU seconds to 18.



Wm Randolph Franklin
Tue Mar 28 14:17:21 EST 1995