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