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. My major recently concluded project was Geo*, a DARPA-funded project for representing and operating on terrain, that is, elevation.
My current project 3 attempts 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.
Thirteen PhD students (7 currently employed at a college), and 65 masters students have been graduated under my advisement, (names and theses).
My research has been funded by the National Science Foundation under Grants ENG-7908139, ECS-8021504, ECS-8351942, CCF-9102553, CCF-0306502, and DMS-0327634, 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.
Recent research
|
FWCG2009
|
| ||
|
FWCG2008
|
ACMGIS2008
|
Contents (hide)
- 1. Computational Cartography Research
- 2. Computational Geometry Research
- 2.1 Fundamentals
- 2.2 Local data structures for polyhedra
- 2.3 Connected Components in E^3
- 2.4 Linear Time Object Space Hidden Surfaces
- 2.5 Nearest Points in E2 and E3
- 2.6 Overlaying 3D Triangulations
- 2.7 UNION2, UNION3, and Boolean Operations and Their Mass Properties
- 2.8 Octree Creation
- 2.9 Edge intersection
- 2.10 Misc papers
- 3. Other Research Topics
- 4. Misc Topics
- 5. Open Topics
1. Computational Cartography Research
This, my major theme, includes terrain representation and operations thereon, applied to large datasets.
- Terrain: This is the elevation of the earth's surface above the geoid.Representation: What data structures should be used? Leading existing representations include Triangulated Irregular Networks (TINs) and matrices of elevations. I am studying other methods such as scooping and Overdetermined Laplacian PDEs. Part of the representation problem is how to compress the data, either losslessly or lossily, which maintaining some metric, such as RMS elevation or slope error or visibility.The hard part of representation is devising more powerful, though less tractable, nonlinear encoding techniques to compat with the nonlinear physics of terrain formation. This research is cognizant of the peculiar properties of terrain, such as its low degree of continuity, its long-range correlations (drainage basins), and its vertical asymmetry (there are many local maxima, but few local minima). Important {operations} include lossy compression, drainage computation, observer siting, and mobility determination.Operations: What do we want to do with the terrain? Typical operations include multiobserver siting and path planning.
1.1 GeoStar
More info on GeoStar
This recent major theme was a DARPA-funded project for representing and operating on terrain, that is, elevation. Its accomplishments included:
- efficient hi-res visibility computation on terrain,
- multiple observer siting to maximize joint viewshed,
- ODETLAP, an extension of the Laplacian PDE to an overdetermined system of equations, which is used in many of the following results,
- extremely compact lossy terrain (elevation) compression,
- terrain compression that reconstructs slopes accurately,
- lossily compressed terrain supports motion-planning (path planning),
- path planning with sophisticated cost metric on large terrain, and
- a better surface fitting procedure for bathymetry data that is very unevenly spaced.
Titles include:
- Two novel surface representation techniques
- Tradeoffs when multiple observer siting on large terrain cells
- Alternative sculpting hypotheses for terrain data compression
- Compressing terrain datasets using segmentation
- Terrain representation using tessellation of irregular planar tiles
- Multiple observer siting on a compressed terrain
- An improved LLL algorithm
- Surface compression using over-determined Laplacian approximation
- Path planning on lossily compressed terrain
- Smugglers and border guards - the GeoStar project at RPI
- Drainage network and watershed reconstruction on simplified terrain
- Approximating terrain with over-determined Laplacian PDEs
- Slope accuracy and path planning on compressed terrain
- Progressive transmission of lossily compressed terrain
- Efficient viewshed computation on terrain in external memory
- Path planning on complex terrain
- Operating on large geometric datasets
- Parallel ODETLAP for terrain compression and reconstruction
- Evaluating hydrology preservation of simplified terrain representations
- Compressing terrain elevation datasets
- Parallel terrain compression and reconstruction
- Representation, compression and progressive transmission of digital terrain data using over-determined Laplacian partial differential equations
- Evaluating and compressing hydrology on simplified terrain
- Path planning and slope representation on compressed terrain
Some of its themes are broken out in the following sections.
1.2 Alternate Terrain Reps
More info on Alternate Terrain Reps
This theme has the following goals:
- Study alternate terrain representations that are more compact.
- Since the new representations will therefore be lossy, evaluate the size / quality tradeoffs.
- These new representations ought to make it easier to represent legal terrain than illegal terrain.
- We wish to process datasets up to 10000x10000 elevation posts.
- With these new representations, uncompression speed is more important than compression speed.
- The new representations are to be evaluated on metrics such as visibility and mobility.
This is my most promising long-term theme. Unfortunately, shortterm pressures have prevented its getting the time it deserves.
Titles include:
- Terrain elevation data structure operations (with M Gousie),
- Computational and geometric cartography,
- Geospatial terrain: algorithms and representations,
- Mathematical issues in terrain representatio
- Automatic extraction of topographic features using adaptive triangular meshes (with H Pedrini and WR Schwartz),
- Applications of analytical cartography,
- Elevation data operations
- Lossy compression of elevation data (with A Said), and
- Compressing elevation data.
1.3 Multi Observer Siting
More info on Multiobserver Siting
The idea is to start with some terrain, i.e, elevation data, and then to place (site) a set of observers to oversee the terrain as well as possible. Previous work by other researchers has tended to compute the viewsheds of individual observers. Our work starts by computing higher resolution viewsheds than often computed elsewhere, and then extends the siting concept by choosing quadi-optimal sets of observers.
Even for single observer viewsheds, some counterintuitive results have been obtained. For example, for some terrain, there is no significant correlation between elevation and visibility index; on the average, higher is no better for observation. Titles include:
- Efficient multiple observer siting on large terrain cells (with C Vogt),
- Siting observers on terrain,
- Higher isn't necessarily better: visibility algorithms and experiments, (with CK Ray), and
- Approximating visibility.
1.4 Gridding Contours
More info on Gridding Contours
Mike Gousie and I have new techniques for the classic problem of converting elevation contours to a grid, and generally fitting a surface to data. Our innovations reduce the terracing effect seen in many other methods, and produce a smoother, more realistic, result. One technique is based on ODETLAP (described separately). Titles include:
- Augmenting grid-based contours to improve thin plate DEM generation, (with MB Gousie),
- Converting elevation contours to a grid, (with MB Gousie),
- Constructing a DEM from grid-based data by computing intermediate contours, (with MB Gousie).
- Contours to digital elevation models: grid-based surface reconstruction methods, MB Gousie, and
- Development of a two-level iterative computational method for solution of the Franklin approximation algorithm for the interpolation of large contour line, J Childs.
1.5 Overlaying Two Maps (aka Planar Graphs)
More info on Overlaying Two Maps
An algorithm for calculating the areas of overlaid polygons without calculating the overlay itself, is presented. OVERPROP is useful when the sole purpose of overlaying two maps is to find some mass property of the resulting polygons, or for an areal interpolation of data from one map to the other. Finding the areas of all the output polygons is both simpler and more robust than finding the polygons themselves. OVERPROP works from a reduced representation of each map as a set of `half-edges'; with no global topology. It uses the uniform grid to find edge intersections. The method is not statistical, but is exact within the arithmetic precision of the machine. It is well suited to a parallel machine, and could be extended to overlaying more than two maps simultaneously, and to determining other properties of the output polygons, such as perimeter or center of mass. OVERPROP has been implemented as a C program, and is very fast.
One useful subtask is to locate all the points of each map in a specific polygon of the other. Its expected execution time is constant per query point regardless of the other map's complexity.
Titles include:
- OVERPROP - Calculating areas of map overlay polygons without calculating the overlay, (with V Sivaswami),
- Calculating the area of overlaid polygons without constructing the overlay, (with V Sivaswami, D Sun, M Kankanhalli and C Narayanaswami),
- Map overlay area animation and parallel simulation,
- Calculating map overlay polygon~ areas without explicitly calculating the polygons - implementation, (and)
- A Simplified map overlay algorithm.
1.6 Logic Programming for Map Overlay
More info on Logic Programming Map Overlay
In the late 1980s, we investigated using declarative, rather than procedural, programming techniques for map overlay. Titles include:
- A Logic programming approach to cartographic map overlay, (with PYF Wu),
- A Polygon overlay system in prolog, (with PYF Wu),
- Experiences with using prolog for geometry, (with M Nichols, S Samaddar and PYF Wu)',
- Geometry in prolog, (with PYF Wu, S Samaddar and M Nichols),
- Prolog and geometry projects, (with PYF Wu, S Samaddar and M Nichols),
- Computational geometry in Prolog, and
- Polygon overlay in Prolog, (PYF Wu).
1.7 Triangulated Irregular Network
More info on Triangulated Irregular Network
This program takes an array of terrain elevations, and iteratively approximates it with a Triangulated Irregular Network, aka a piecewise linear triangular spline. I implemented the first TIN in cartography or geography, back in 1973; my PL/1 code is online. My current program has the following advantages compared to its competitors.
- Since it operates incrementally, by repeatedly inserting the worst point into the TIN, after the K-th stage, it has identified, in some sense, the K most important points. That is useful for, e.g., progressive transmission.
- By virtue of a compact data structure, it does not require external storage even for rather large datasets. On a 32-bit PC, arrays of up to 10800x10800 posts can be processed. Therefore it also does not require that the points first be externally sorted.
1.8 Prism
More info on Prism
This is a 1970s algorithm and implementation for displaying 3D prism maps showing data depending on geographic regions by raising a prism above each region. The program preprocessed the 2D map in advance so that new data could be displayed, with hidden surfaces removed, quickly. Titles include:
- Program translates statistics into 3-D color map of Europe,
- Prism - A prism plotting program, and
- 3-D graphic display of discrete spatial data by prism maps, (with HR Lewis).
1.9 General Cartography
More info on General Cartography
Here are broader papers and talks covering more than one topic, or reviewing the field, or that don't fit into one of the other categories. Titles of papers and talks include:
- Observations in support of automation with GPR,
- On the possible role(s) of a university consortium for geographic information and analysis. (with the UCGIA Steering Committee),
- Tutorial on curve fitting for GIS, and
- Computer systems and low level data structures for GIS
2. Computational Geometry Research
Efficient geometric operations on large datasets, or efficient spatial algorithms and data structures, is another research theme.
Here are the slides of a good summary talk: ''Geometric Operations on Millions of Objects'', presented at Koc University, Istanbul, 16 July, Sabanci University, Istanbul, 20 July, Bilkent University, 26 July, and Middle Eastern Technical University, 27 July 2004.
2.1 Fundamentals
More info on Fundamentals
Here are pages on
- PNPOLY, an 8-line program for determining point inclusion in a polygon. Written in 1970 it is both shorter and more robust than many later competitors.
- The uniform grid data structure, for efficiently culling likely intersections in E2 and E3. Although this appears to be too simple to work, implementations (supported by analysis) show that it does work quite well, even on unevenly distributed data. It is also simple enough to implemente and test, and also parallelizes well.
- Why raster graphics is harder than vector graphics. It's because integers are harder than rationals.
Titles include:
- Geometric computing and the uniform grid data technique (with V Akman, M Kankanhalli and C Narayanaswam),
- Uniform grids: A technique for intersection detection on serial and parallel machines (with C Narayanaswami, M Kankanhalli, D Sun, MC Zhou, and PYF Wu),
- Efficiency of uniform grids for intersection detection on serial and parallel machines (with N Chandrasekhar, M Kankanhalli, M Seshan, and V Akman),
- Fast intersection detection on serial and parallel machines using the uniform grid technique (with N Chandrasekhar, M Kankanhalli, and V Akman), and
- Adaptive grids for geometric operations.
- Problems with raster graphics algorithms,
- Cartographic errors symptomatic of underlying algebra problems,
- Efficient rotation of an object.
2.2 Local data structures for polyhedra
More info on Local Topology
These representations use little or no global topology. This contrasts with the complete topologies used in many CAD systems. My local data structure simplifies many operations, such as determination of the mass properties of boolean combinations of objects. That simplifies many operations, such as determination of the mass properties of boolean combinations of objects. There are fewer special cases, and parallel processing is facilitated.
Titles include:
- Local topological properties of polyhedra,
- Polygon properties calculated from the vertex neighborhoods,
- Rays - new representation for polygons and polyhedra.
2.3 Connected Components in E^3
More info on Connected Components
This is an efficient implementation on a laptop computer of the union-find algorithm for finding connected components when the input is a 1000x1000×1000 3D box of binary voxels. Each voxel may be connected either to its 6 orthogonal neighbors, or to all 26 neighbors. Component properties, such as area, and volume are also computed. This implementation is fast enough to permit experimental studies of random connectivity. Titles include:
- Connected Components on 1000x1000x1000 Datasets (with EN Landis).
- Cracking, damage and fracture in four dimensions, (with EN Landis, T Zhang, EN Nagy and G Nagy),
- 3D analysis of tomographic images, (with E Nagy, T Zhang, G Nagy and E Landis),
- CONNECT - find 3D connected components, and
- Volume and surface area distributions of cracks in concrete, (with G Nagy, T Zhang, E Landis, E Nagy and D Keane).
2.4 Linear Time Object Space Hidden Surfaces
More info on Linear Object Space Hidden Surfaces
This is an object space algorithm from the late 1970s for determining the visible parts of objects such as polyhedra and spheres in E3 that operates in expected time linear in the number of objects, independent of their depth complexity. We have implemented it for spheres and cubes. Around 1980, it could handle 10,000 random spheres stacked 10 deep. (Some other algorithm's times are quadratic in the depth.) Titles include:
- Parallel object-space hidden surface removal, (with M Kankanhalli),
- A Linear time exact hidden surface algorithm,
- Adaptive grid for polyhedral visibility in object space, (with V Akman),
- A simple and efficient haloed line algorithm for hidden line elimination, (with V Akman),
- An exact hidden sphere algorithm that operates in linear time,
- A linear time exact hidden surface algorithm, and
- Combinatorics of hidden surface algorithms.
2.5 Nearest Points in E2 and E3
More info on Nearpt3
This is a pair of subroutines to find nearest points in E3. Preprocess takes a list of fixed points, and preprocesses them into a data structure. Query takes a query point, and returns the closest fixed point to it. Nearpt2 is a special case for E2.
Nearpt3 is very fast, very small, and can process very nonhomogeneous data. The largest example run on a laptop computer was St Matthew from the Stanford Digital Michelangelo Project Archive, with 184,088,599 fixed points.
Preprocessing the David data set, with 28,158,109 fixed points, into a 7233 grid took 0.6 microseconds per fixed point. Each query required 6 microseconds. The platform was an IBM T43p laptop computer with a 2GHz Intel Pentium M processor and 2GB of memory. Titles include:
- Nearpt3 - Nearest point query on 184M points in E3 with a uniform grid
2.6 Overlaying 3D Triangulations
More info on Overlaying 3D Triangulations
This 1992 algorithm combines two different triangulations of the same 3D faceted object, to determine which pairs of tetrahedra overlap, and the intersection volumes. This is useful for interpolating data from one triangulation of an object to another. Titles include:
- Volumes From Overlaying 3-D Triangulations in Parallel, (with M Kankanhalli)
2.7 UNION2, UNION3, and Boolean Operations and Their Mass Properties
More info on Union
This theme computes mass properties of boolean operations on large sets of polyhedra, typically in linear time. Besides algorithms, it includes demo implementations such as computing the volume and area of the union of up to 20,000,000 cubes. That took one hour on a dual xeon workstation.
My technique is to combine several other themes. The first is to optimizes the composition of volume and union operators; finding the volume of the union of two polyhedra does not require finding their explicit union with global topology etc. That also uses my local topological formulae. Finally, the linear execution time is effected with a uniform grid.
Titles include:
- Determination of mass properties of polygonal CSG objects in parallel, (with C Narayanaswami),
- Analysis of mass properties of the union of millions of polygedra,
- Mass properties of the union of millions of identical cubes,
- Area and perimeter computation of the union of a set of iso-rectangles in parallel, (with M Kankanhalli),
- Boolean combinations of polygons in parallel, (with C Narayanaswami),
- Edge intersection on the hypercube computer, (with C Narayanaswami),
- Determination of mass properties of polygonal CSG objects in parallel, (with C Narayanaswami),
- Efficient geometric operations for CAD, (with N Chandrasekhar, M Kankanhalli, V Akman and PYF Wu),
- Parallel algorithms for geometric computing, (with N Chandrasekhar andM Kankanhalli),
- Efficient intersection calculations in large databases, (with M Kankanhalli C Narayanaswami and V Akman)
- Efficient primitive geometric operations on large databases, (with M Kankanhalli and C Narayanaswami), and
- Efficient polyhedron intersection and union.
2.8 Octree Creation
More info on Octrees
Forming an octree from the bottom up by combining individual voxels has several advantages over top-down construction. Titles include:
- Building an octree from a set of parallelepipeds (with V Akman),
- Octree data structures and creation by stacking (with V Akman),
- Representing objects as rays, or how to pile up an octree? (with V Akman), and
- Ray representation for k-d trees, (with V Akman)
2.9 Edge intersection
- 2D edge intersection in expected time linear in the input plus output size (1978). This is a subproblem of most of the other algorithms. The algorithm is input-sensitive, but has been shown to be fast for a wide range of very uneven real data, including edges of a nonuniform grid, edge on a USGS Digital Line Graph, and edges of rectangles in an integrated circuit design. This algorithm's design, a uniform grid, illustrates a longterm theme of the research. Since most data's spatial density varies, the obvious optimization is to adapt the grid to the data's varying density. That is wrong, repeat wrong. First, it is ugly. Second, it is unnecessary, both theoretically and practically. Theoretically, if the data's density variation is limited, then the mean times still hold, i.e., linear in the size of the input plus output. Second, this behavior has been observed in practice. Why is there not even a log factor in the time? Sorting an objects into a grid cell takes constant time. That is a more powerful operation than the binary decision that is the basis of many time analyses, such as sorting, that produce a log factor.
- Red-blue edge intersection: Given a set of red edges and a set of blue edges, determine only the intersections of a red and a blue edge, in expected time linear in the size of the input plus the size of the output. Note that there may be a quadratic number of red-red and blue-blue intersections, but only a linear number of red-blue intersections, the time should be linear. This was implemented as part of the planar graph overlay. Red-blue edge intersection illustrates the strength of these input-sensitive techniques. SFAIK, the best worst-case algorithm requires time linear in the number of red-red intersections.
2.10 Misc papers
- Implementing a topological picturebook (with V Akman, A Arslan and P J W ten Hagen),
- Mental models of force and motion (with V Akman, D Ede and PJW ten Hagen),
- Design systems with common sense (with V Akman and B Veth),
- A workbench to compute unobstructed shortest paths in three-space (with V Akman),
- Locus techniques for shortest path problems in robotics (with V Akman),
- On the question "is sum1n sqrt{ai}<= l " ? (with V Akman),
- Reconstructing visible regions from visible segments (with V Akman),
- Shortest paths in 3-space, Voronoi diagrams with barriers, and related complexity and algebraic issues (with V Akman),
- Voronoi diagrams with barriers and on polyhedra for minimal path planning (with V Akman and C Verrilli),
- Partitioning the space to calculate shortest paths to any goal around polyhedral obstacles (with V Akman),
- Shortest paths between source and goal points located on/around a convex polyhedron. (with V Akman),
- A simpler iterative solution to the Towers of Hanoi problem,
- Software engineering reasons for vlsi design methodology,
- Simulation of buried power transmission systems: Some computer graphics options (with G Wazzan, W R Spillers, A Greenwood, TF Gantry and H Chu)
- 3-D geometric databases using hierarchies of inscribing boxes,
- Faster calculation of superquadric shapes (with AH Barr),
- Evaluation of algorithms to display vector plots on raster devices,
- Applications of geometry,
- Software aspects of business graphics, (and)
- The maturation of computer graphics (with WG Nisen)
3. Other Research Topics
3.1 Expert System Sensitivity Analysis
More info on Expert System Sensitivity Analysis
In the 1980s we applied sensitivity analysis from software engineering to expert systems. The titles include:
- Sensitivity Analysis of Expert Systems
- Debugging and Tracing Expert Systems
3.2 Non Geometric Data Structures and Algorithms
More info on Non Geometric Data Structures Algorithms
Here are some algorithms and data structures that are neither geometric nor cartographic. The titles include:
- On an Improved Algorithm for Decentralized Extrema Finding
- Padded Lists---Set Operations in O(log log N) Time
4. Misc Topics
4.1 Old Program Solicitations
More info on Old Program Solicitations
Here are some solicitations and planning documents I wrote while at NSF from 2000 to 2003. They include:
- NSF01-111 and NSF02-155 Computational Algorithms and Representations for Geometric Objects (CARGO). (with B Mann and D Cochran).
- GeoSpatial Terrain Analysis and Representations (Geo*), ''(with D Cochran)'',
- Computational and Geometric Cartography.
4.2 Short Research Notes
Here are short notes on various research topics.
- Bresenham Circle And Line Drawing
- Polygon Equation Does the (piecewise straight border) line of a polygon have an equation, as a circle has the equation x2+y2=1?
- OpenGL Summary
- NTSC and Other TV Formats
- Portability and Standards
- Journals Are Obsolescent
- Efficient Programming
- More short notes that haven't yet been transferred to this wiki.
4.3 Proposal Writers Cheat Sheet
Contents of page Proposal Writers Cheat Sheet... (hide)
- 1. Proposal preparation
- 2. Budget
- 3. Reviewing
- 4. After the decision
- 5. Summary
4.4 Workshop Organizers Cheat Sheet
Contents of page Workshop Organizers Cheat Sheet... (hide)
4.5 Software Notes and Reviews
Usage notes and recommendations on various programs (not mine):
Contents of page Software Notes... (hide)
- 1. Linux
- 2. Linux virtual machine (VM) notes
- 3. Converting a VM from VMWare to KVM
- 4. Linux mail user agents - comparisons, advantages and problems
- 4.1 Kmail
- 4.2 Claws-mail
- 4.3 Evolution
- 4.4 Thunderbird
- 4.5 Gmail
- 4.6 Mulberry
- 5. Cellphone as modem in linux
- 6. Boot ISO image
- 7. Numeric computing
- 8. Graphics and media
- 8.1 Big packages
- 8.2 Gnuplot
- 8.3 Image format conversions
- 8.4 Stitching, panoramas
- 8.5 Cameras
- 8.6 Download video
- 9. Words
- 9.1 LaTeX
- 9.2 Lucida fonts in LaTeX
- 9.3 LaTeX into HTML
- 9.4 HTML into LaTeX
- 9.5 XML to LaTeX or HTML
- 9.6 XML into PDF
- 9.7 LaTeX figures and PDF
- 9.8 Watermark a PDF file
- 9.9 Convert a directory of images files to PDF files
- 9.10 Crop and resize PDF pages
- 9.11 Combine a directory of PDF files into one file
- 9.12 Update PDF file metadata
- 9.13 PDF to RTF (good for MS Word)
- 9.14 Paginate a PDF file
- 9.15 Complete (fill in) a PDF form
- 9.16 Others' words
- 9.17 Snail mail words
- 9.18 Speak words
- 9.19 Talk (Presentation) Slide Tools
- 10. Geo
- 11. VMWare - shrink pre-allocated disk on windows client
- 12. MS Windows
5. Open Topics
Contents of page OpenTopics... (hide)
1 (Merriam-Webster dictionary) ⇑
2 The American Heritage® Book of English Usage ⇑
3 Cutler, Zimmie, Franklin. NSF CMMI-0835762: CDI-Type I: Fundamental Terrain Representations and Operations ⇑
<< | Research Page List | GeoStar >>