Comprehensive Reviews & Future Directions

Download Report

Transcript Comprehensive Reviews & Future Directions

Overview of Last Lecture

About Final Course Project
– presentation, demo, write-up

More geometric data structures
– Binary Space Partitions (BSP)
• hidden surface removal, set operation, visibility
– Quadtrees
• mesh generation, image analysis, GIS, graphics
Comprehensive Reviews
 Current & Future Trends of the Field

UNC Chapel Hill
M. C. Lin
Binary Space Partitions

Recursively splitting the plane (space) with a
line (hyperplane), which may cut the plane
(space) as well as the objects themselves.

The size of a BSP tree is the total number of the
object fragments generated by the partitioning

Auto-partition: a BSP that uses only the cutting
lines (planes) to be the set of extensions of the
input segments. NOTE: Auto-partition doesn’t
always produce minimum-size BSP trees, but it
generates reasonably small ones.
UNC Chapel Hill
M. C. Lin
Data Structure Analysis

Let S be a set of n segments in a plane. A
BSP of size O(n log n) can be computed in
expected O(n2 log n).

For any set of n non-intersecting triangles
in R3, a BSP tree of size O(n2) exists.
Moreover, there are configurations for
which the lower bound size of any BSP is
quadratic. Despite this fact, in general,
BSP trees perform reasonably well.
UNC Chapel Hill
M. C. Lin
Quadtrees

Quadtree: a rooted tree in which every internal node
has 4 children. Every node corresponds to a square.
 Construction: split the current square into 4 quadrants,
partition the point set accordingly, and recursively
construct quadtrees for each quadrant with its
associated point set. It stops when the point set
contains less than 2 points.
 The point set is not necessarily split well. It is possible
that all points lie in the same quadrant. Thus, a quadtree
can be quite unbalanced. It is not possible to express
the size and depth of a quadtree as a number of points it
stores. But, other quantification is possible.
UNC Chapel Hill
M. C. Lin
Data Structure Analysis

The depth of a quadtree for a set P of points in
the plane is at most log(s/c) + 3/2, where c is the
smallest distance between any two points in P
and s is the side length of the initial square that
contains P.
 A quadtree of depth d storing a set of n points
has O((d+1)n) nodes and can be constructed in
O((d+1)n) time.
 Let T be a quadtree with m nodes. Then, the
balanced version of T has O(m) nodes and it can
be constructed in O((d+1)m) time.
UNC Chapel Hill
M. C. Lin
Mesh Generation

Simulation of heat transfer and interaction
between different media require FEM.
Such method requires dividing the region
into small elements. The accuracy and
speed of FEM depends on the mesh.

Non-uniform mesh generation (fine near
the edges of components and coarse far
away from the edges) can be generated
using quadtrees. (Examples in p.290-291)
UNC Chapel Hill
M. C. Lin
Topics Covered

Line-Segment Intersection
– 3D Morphing, thematic map overlay

Polygon Triangulation
– guarding an art gallery, morphing

Linear Programming
– manufacturing/molding, collision
detection, polygon simplification

Robustness & Degneracies
– causes and solutions
UNC Chapel Hill
M. C. Lin
Topics Covered

Geometric Data Structures/Search
– range/window search using k-d trees,
range trees, interval trees, priority search
trees, segment trees, BSP, quadtrees, etc.
– crystal structure determination, database
query, image queries, windowing/zoom

Point Location
– GIS, polygonization of parametric
surfaces, path planning
UNC Chapel Hill
M. C. Lin
Topics Covered

Voronoi Diagram
– post office problem, D. triangulation, CH

Arrangements & Duality
– computing discrepency, visibility graph

Delaunay Triangulations
– height interpolation, constraint
triangulation, meshing, etc.

Convex Hulls
– optimal bounding volumes, V. region
UNC Chapel Hill
M. C. Lin
Topics Covered

Robot Motion Planning
– Minkowski sum, potential field methods,
approximate cell decomposition,
visibility graphs, etc.
– distance computation, character
animation, drug design, image-guided
surgery, radiosity computation, etc.

Others
– subdivision surfaces, cloth simulation
UNC Chapel Hill
M. C. Lin
Techniques Discussed

Plane-Sweep

Incremental Construction

Randomized Algorithms

Divide-and-Conquer Techniques

Hierarchies & Recursion

Transform using Duality
UNC Chapel Hill
M. C. Lin
Current & Future Trends

Toward “simpler and efficient” geometric
data structures and algorithms

Design consideration for the problem
nature of applications

More dynamic data structures (KDS)
UNC Chapel Hill
M. C. Lin