1   Summary

Geometry has been my overriding interest since high school in the 1960s. Geometry is the "branch of mathematics that deals with the measurement, properties, and relationships of points, lines, angles, surfaces, and solids" [1] The Geo in geometry is from the Greek Γη meaning, earth, ground, land [2]. One major project was Geo*, a DARPA–funded project for representing and operating on terrain, that is, elevation.

My big long-term unsolved problem is to devise a mathematics of terrain, which would respect its physical properties. To date, I've been nibbling around the edges.

More recently, a major theme has been parallel geometry algorithms.

Another past project (Cutler, Zimmie, Franklin. NSF CMMI-0835762: CDI-Type I: Fundamental Terrain Representations and Operations) attempted to predict how erosion occurs in levee failure by overtopping, and, after a failure, to reverse-simulate what happened.

I've applied the same underlying principles in Computational Geometry producing algorithms useful for large datasets, mostly in 3D, and usually implemented.

Both topics are applications of my long term theme of emphasizing small, simple, and fast data structures and algorithms. Note that efficiency in both space and time can become more important as machines get faster. This research is applicable to computational cartography, computer graphics, computational geometry, and geographic information science.

Here is a list of 18 PhD students (7 currently employed at a college), and 70 masters students have been graduated under my advisement.

My research has been externally funded by the National Science Foundation under Grants ENG-7908139, ECS-8021504, ECS-8351942, CCF-9102553, CCF-0306502, DMS-0327634, CMMI-0835762 and IIS-1117277 by DARPA/DSO, via the NGA, under the GeoStar program, by the US Army Topographic Engineering Center, and by IBM, Sun Microsystems, and Schlumberger-Doll Research.

Many of the algorithms have been implemented. The code is available for nonprofit research and education.

  1. A 2-slide summary of my research.
  2. A good summary talk is this: Geometric Operations on Millions of Objects.
  3. An overview talk of the future of the field is my keynote talk at GeoInfo 2013, XIV Brazilian Symposium on GeoInformatics.
  1. 'Some research results that I particularly like <Research/Like>`_ .
[1] Merriam–Webster dictionary.
[2] The American Heritage Book of English Usage.

2   Overlaying 3D Meshes

The main goal is to overlay two 3D meshes to produce a new mesh, where each output tetrahedron is part of the intersection of two input tetrahedra, one from each input mesh. Secondary goals are to process meshes with tens of millions of tetrahedra with an expected time linear in the input size. We will achieve this by combining give techniques.

  1. minimal geometric representations, for simplicity and parallelizability,
  2. uniform grid, for fast intersection detection,
  3. rational numbers, to prevent roundoff errors,
  4. Simulation of Simplicity, to handle degeneracies, and
  5. OpenMP, for parallel speedup.

We have already overlaid two 2D meshes (aka embedded planar graphs). Our big example combined US Water Bodies with US Block Boundaries, which total 54,000,000 vertices, and 737,000 faces. This took only 149 elapsed seconds (plus 116s for I/O).

We have also implemented PinMesh, which locates a point in a 3D mesh, again combining the above five techniques. Its preprocessing time is linear and query time constant. The largest test case had 50M faces. Preprocessing took 14 seconds on a dual 8-core Xeon, while querying averaged 0.6 microseconds per point. This work won a reproducability stamp at the International Geometry Summit 2016.

Both programs are freely available to other nonprofit researchers and educators. Both programs scale up and scale down. They could process orders-of-magnitude larger datasets, if those were available. On much smaller datasets, they achieve sub-second performance.

This is Salles Viana Gomez de Magalhaes's PhD thesis.

3   Lossily Compressing 3D Datasets

The goal is to lossily compress 3D arrays of environmental data. For a given maximum error, our compressed file is typically 1/3 the size of that produced by JP3D. The data size is up to 160x256x256. Our ideas also extend to 4D and higher datasets.

The original motivation was to interpolate raster terrain surfaces from elevation contours. Existing techniques had many problems. The input contours were visible as terraces in the output surface. Those techniques interpolated a surface between two adjacent contours, so that nothing encouraged continuity of slope across a contour.

My solution was ODETLAP, which expresses the surface as the solution of an overdetermined sparse linear system. The contours provide known points; the surface between them the unknown points. For each unknown point, an equation is created making it the average of its four neighbors, as with a Laplacian. Each known point has that equation (in contrast to a Laplacian) and also has a second equation making it equal to its known value. The two types of equations can be weighted to emphasize either smoothness or accuracy. Then a best fit is found for this this overdetermined, inconsistent, system.

Although inspired by a Laplacian, ODETLAP's properties are quite different. E.g., local extrema are generated inside a set of nested contours. Inconsistency is a powerful tool that is underappreciated by other researchers.

The idea extends to higher dimensional datasets. It exploits the data's autocorrelation in each dimension. The challenge with ODETLAP is that it is compute and memory intensive.

The compressed dataset is a subset of the original dataset's points, selected greedily, and coded compactly. ODETLAP is used to reconstruct the dataset from them.

This is part of Wenli Li's PhD thesis.

4   Terrain Visibility, Viewshed, Observer Siting

Given a large DEM terrain, we have efficient parallel (using both OpenMP and CUDA) algorithms to compute

  1. the viewshed of an observer,
  2. the visibility index, i.e., the viewshed's area, of every point,
  3. how to site multiple observers to jointly cover the most terrain, perhaps while requiring the observers to be intervisible.

Here is some of our published work. There are links to papers and talks.


  • Chaulio R. Ferreira, Marcus V. A. Andrade, Salles V. G. Magalhães, and W. Randolph Franklin. An efficient external memory algorithm for terrain viewshed computation. ACM Trans. on Spatial Algorithms and Systems, 2016. doi:10.1145/2903206.
    [abstract▼] [full text] [BibTeX▼]
  • Max J Egenhofer, Keith C Clarke, Song Gao, Teriitutea Quesnot, W. Randolph Franklin, May Yuan, and David Coleman. Contributions of GIScience over the past twenty years. In Harlan Onsrud and Werner Kuhn, editors, Advancing Geographic Information Science: The Past and Next Twenty Years, chapter 1, pages 9–34. GSDI association press, 2016.
  • Mehrad Kamalzare, Thomas F. Zimmie, Barbara Cutler, and W. Randolph Franklin. A new visualization method to evaluate sediment transport and erosion. Geotechnical Testing Journal, May 2016. doi:10.1520/GTJ20140226.


  • Mehrad Kamalzare, Thomas F. Zimmie, Zhongxian Chen, Christopher Stuetzle, Barbara Cutler, and W Randolph Franklin. Computer erosion modeling considering soil hydraulic conductivity. Journal of Geotechnical and Transportation Engineering, 22 June 2015.
  • Maurício G. Gruppi, Salles V. G. Magalhães, Marcus V. A. Andrade, W. Randolph Franklin, and Wenli Li. Using rational numbers and parallel computing to efficiently avoid round-off errors on map simplification. In Geoinfo 2015, XVI Brazilian Symposium on GeoInformatics. Campos do Jordão, SP, Brazil, 29 Nov – 2 Dec 2015.
  • Salles V. G. Magalhães, Marcus V. A. Andrade, W. Randolph Franklin, and Wenli Li. Fast path planning under polygonal obstacle constraints. In 4th GIS-focused algorithm competition, GISCUP 2015, co-located with ACM SIGSPATIAL GIS. Bellevue WA USA, 4 Nov 2015. Winner (2nd place).
  • Salles V. G. Magalhães, Marcus V. A. Andrade, W. Randolph Franklin, and Wenli Li. Fast exact parallel map overlay using a two-level uniform grid. In 4th ACM SIGSPATIAL International Workshop on Analytics for Big Geospatial Data (BigSpatial). Bellevue WA USA, 3 Nov 2015. doi:10.1145/2835185.2835188.
    [abstract▼] [full text] [BibTeX▼]
  • Thiago L. Gomes, Salles V. G. Magalhães, Marcus V. A. Andrade, W. Randolph Franklin, and Guilherme C. Pena. Efficiently computing the drainage network on massive terrains with an external memory flooding process. Geoinformatica, April 2015. \url doi:10.1007/s10707-015-0225-y.


  • Wenli Li, W. Randolph Franklin, Daniel N. Benedetti, and Salles V. G. Magalhães. Parallel multiple observer siting on terrain. In 22nd ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems (ACM SIGSPATIAL 2014). Dallas, Texas, USA, 4–7 Nov 2014.
    [abstract▼] [full text] [poster] [BibTeX▼]
  • Guilherme Pena, Salles Magalhães, Marcus Andrade, Randolph Franklin, Chaulio Ferreira, Wenli Li, and Daniel Benedetti. An efficient GPU multiple-observer siting method based on sparse-matrix multiplication. In 3rd ACM SIGSPATIAL International Workshop on Analytics for Big Geospatial Data (BigSpatial) 2014. Dallas TX USA, 4 Nov 2014.
    [abstract▼] [full text] [slides] [BibTeX▼]
  • Chaulio R. Ferreira, Marcus V. A. Andrade, Salles V. G. Magalhães, W. R. Franklin, and Guilherme C. Pena. A parallel algorithm for viewshed computation on grid terrains. Journal of information and data management, 2014. invited.
    [abstract▼] [full text] [BibTeX▼]
  • Guilherme C. Pena, Marcus V.A. Andrade, Salles V.G. Magalhães, W. R. Franklin, and Chaulio R. Ferreira. An improved parallel algorithm using GPU for siting observers on terrain. In 16th International Conference on Enterprise Information Systems (ICEIS 2014), 367–375. Lisbon, 27–30 April 2014. doi:10.5220/0004884303670375.
    [abstract▼] [full text] [slides] [BibTeX▼]


  • Chaulio R. Ferreira, Marcus V. A. Andrade, Salles V. G. Magalhães, W. R. Franklin, and Guilherme C. Pena. A parallel sweep line algorithm for visibility computation. In Geoinfo 2013, XIV Brazilian Symposium on GeoInformatics. Campos do Jordão, SP, Brazil, 24–27 Nov 2013. Winner of best paper award, \url
    [abstract▼] [full text] [BibTeX▼]


  • Salles V. G. Magalhães, Marcus V. A. Andrade, and W. Randolph Franklin. Multiple observer siting in huge terrains stored in external memory. International Journal of Computer Information Systems and Industrial Management (IJCISIM), 2011.


  • Marcus V. A. Andrade, Salles V. G. Magalhães, Mirella A. Magalhães, W. Randolph Franklin, and Barbara M. Cutler. Efficient viewshed computation on terrain in external memory. Geoinformatica, 2010. (online 26 Nov 2009). URL:, doi:10.1007/s10707-009-0100-9.


  • Daniel M. Tracy, W. Randolph Franklin, Barbara Cutler, Marcus A Andrade, Franklin T Luk, Metin Inanc, and Zhongyi Xie. Multiple observer siting and path planning on lossily compressed terrain. In Proceedings of SPIE Vol. 6697 Advanced Signal Processing Algorithms, Architectures, and Implementations XVII. San Diego CA, 27 August 2007. International Society for Optical Engineering. paper 6697-16.


  • Daniel M. Tracy, W Randolph Franklin, and Franklin Luk. Multiple observer siting on a compressed terrain (extended abstract). In 16th Fall Workshop on Computational Geometry. Smith College, Northampton MA, 10-11 Nov 2006.
  • W. Randolph Franklin and Christian Vogt. Tradeoffs when multiple observer siting on large terrain cells. In Andreas Riedl, Wolfgang Kainz, and Gregory Elmes, editors, Progress in Spatial Data Handling: 12th International Symposium on Spatial Data Handling, pages 845–861. Springer, Vienna, 2006.


  • W. Randolph Franklin and Christian Vogt. Efficient observer siting on large terrain cells (extended abstract). In GIScience 2004: Third International Conference on Geographic Information Science. U Maryland College Park, 20–23 Oct 2004.


  • W. Randolph Franklin. Siting observers on terrain. In Dianne Richardson and Peter van Oosterom, editors, Advances in Spatial Data Handling: 10th International Symposium on Spatial Data Handling, 109–120. Springer-Verlag, 2002.


  • W. Randolph Franklin. Approximating visibility. In GIScience 2000. Savannah, Georgia, USA, 30 Oct 2000.


  • Wm Randolph Franklin and Clark Ray. Higher isn't necessarily better: visibility algorithms and experiments. In Thomas C. Waugh and Richard G. Healey, editors, Advances in GIS Research: Sixth International Symposium on Spatial Data Handling, 751–770. Edinburgh, 5–9 Sept 1994. The International Geographical Union's Commission on Geographical Information Systems and The Association for Geographic Information, Taylor & Francis.

5   3D object visibility


  • Wm Randolph Franklin and Mohan Kankanhalli. Parallel object-space hidden surface removal. In Proceedings of SIGGRAPH'90, volume 24, 87–94. August 1990.


  • Wm Randolph Franklin. A linear time exact hidden surface algorithm. In Kenneth I. Joy and others, editors, Tutorial: Computer Graphics: Image Synthesis, pages 218–224. 1988.
  • Wm Randolph Franklin and Varol Akman. Adaptive grid for polyhedral visibility in object space, an implementation. Computer Journal, 31(1):56–60, February 1988.


  • Wm Randolph Franklin and Varol Akman. A simple and efficient haloed line algorithm for hidden line elimination. Computer Graphics Forum, 6(2):103–109, May 1987.


  • Wm Randolph Franklin. An exact hidden sphere algorithm that operates in linear time. Comput. Graph. Image Process., 15:364–379, 1981.


  • Wm Randolph Franklin. A linear time exact hidden surface algorithm. Comput. Graph., 14(3):117–123, 1980.


  • W. Randolph Franklin. Prism — a prism plotting program. In Allan H. Schmidt, editor, Mapping Software and Cartographic Data Bases, Harvard Library of Computer Mapping, 1979 collection, pages 75–79. 1979.


  • Wm Randolph Franklin and Harry R. Lewis. 3-D graphic display of discrete spatial data by prism maps. In Proc. SIGGRAPH'78, volume 12(3), 70–75. August 1978.
  • Wm Randolph Franklin. Combinatorics of hidden surface algorithms. PhD thesis, Center for Research in Computing Technology, Harvard Univ., Cambridge, MA, June 1978.