Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware

Similar documents
DiFi: Distance Fields - Fast Computation Using Graphics Hardware

Direct Rendering. Direct Rendering Goals

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

Möbius Transformations in Scientific Computing. David Eppstein

Computational Geometry

Geometric Computation: Introduction

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text

Week 8 Voronoi Diagrams

Image-Based Modeling and Rendering. Image-Based Modeling and Rendering. Final projects IBMR. What we have learnt so far. What IBMR is about

Module 4: Index Structures Lecture 16: Voronoi Diagrams and Tries. The Lecture Contains: Voronoi diagrams. Tries. Index structures

Computational Geometry Overview from Cormen, et al.

Ray Casting of Trimmed NURBS Surfaces on the GPU

CS 498 VR. Lecture 18-4/4/18. go.illinois.edu/vrlect18

Surface and Solid Geometry. 3D Polygons

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

Data Mining Classification: Alternative Techniques. Lecture Notes for Chapter 4. Instance-Based Learning. Introduction to Data Mining, 2 nd Edition

Direct Rendering of Trimmed NURBS Surfaces

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Shape Matching. Michael Kazhdan ( /657)

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Tiling Three-Dimensional Space with Simplices. Shankar Krishnan AT&T Labs - Research

Visibility and Occlusion Culling

CS452/552; EE465/505. Clipping & Scan Conversion

Figure 1: An Area Voronoi Diagram of a typical GIS Scene generated from the ISPRS Working group III/3 Avenches data set. 2 ARRANGEMENTS 2.1 Voronoi Di

Graphics and Interaction Rendering pipeline & object modelling

Review of Tuesday. ECS 175 Chapter 3: Object Representation

Closest Point Query Among The Union Of Convex Polytopes Using Rasterization Hardware

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

Overview. A real-time shadow approach for an Augmented Reality application using shadow volumes. Augmented Reality.

Signed Distance Transform Using Graphics Hardware

Signed Distance Transform Using Graphics Hardware

CPSC GLOBAL ILLUMINATION

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Other Voronoi/Delaunay Structures

: Mesh Processing. Chapter 8

Overview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal

The Traditional Graphics Pipeline

Lecture 2 Unstructured Mesh Generation

Shape Modeling with Point-Sampled Geometry

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella

Computer Graphics I Lecture 11

Lecture 11 Combinatorial Planning: In the Plane

Luiz Fernando Martha André Pereira

Outline. CGAL par l exemplel. Current Partners. The CGAL Project.

Models and Architectures

Lecture 4: Geometric Algorithms (Convex Hull, Voronoi diagrams)

Computational Geometry. Definition, Application Areas, and Course Overview

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

Problèmes de robustesse en géométrie algorithmique

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

Overview of 3D Object Representations

Level of Details in Computer Rendering

Computational Geometry

Introduction to Computer Graphics with WebGL

Mesh Decimation. Mark Pauly

Computer Graphics Fundamentals. Jon Macey

COMP30019 Graphics and Interaction Rendering pipeline & object modelling

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling

Computational Geometry. Algorithm Design (10) Computational Geometry. Convex Hull. Areas in Computational Geometry

Lecture 11: Ray tracing (cont.)

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Let s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render

Ray Tracing Foley & Van Dam, Chapters 15 and 16

Ray Tracing. Foley & Van Dam, Chapters 15 and 16

Voronoi diagrams and applications

CSE 167: Introduction to Computer Graphics Lecture #18: More Effects. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Kurt Mehlhorn, MPI für Informatik. Curve and Surface Reconstruction p.1/25

Shading. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller/Fuhrmann

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

G 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994)

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

Homework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves

Template Matching Rigid Motion

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

Lecture 1: September 6, 2001

Robust Stencil Shadow Volumes. CEDEC 2001 Tokyo, Japan

CAD & Computational Geometry Course plan

The Traditional Graphics Pipeline

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)

Lecture notes: Object modeling

Geometric Computation: Introduction. Piotr Indyk

Robot Motion Planning Using Generalised Voronoi Diagrams

Voronoi Diagram. Xiao-Ming Fu

AMCS / CS 247 Scientific Visualization Lecture 4: Data Representation, Pt. 1. Markus Hadwiger, KAUST

Data Representation in Visualisation

CSL 859: Advanced Computer Graphics. Dept of Computer Sc. & Engg. IIT Delhi

Non-Bayesian Classifiers Part I: k-nearest Neighbor Classifier and Distance Functions

Generating Tool Paths for Free-Form Pocket Machining Using z-buffer-based Voronoi Diagrams

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012

The Traditional Graphics Pipeline

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

CS133 Computational Geometry

Course 16 Geometric Data Structures for Computer Graphics. Voronoi Diagrams

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

Surface segmentation for improved isotropic remeshing

Real-Time Shadows. MIT EECS 6.837, Durand and Cutler

3D Representation and Solid Modeling

Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here)

Transcription:

Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware paper by Kennet E. Hoff et al. (University of North Carolina at Chapel Hill) presented by Daniel Emmenegger GDV-Seminar ETH Zürich, SS2000 Overview Introduction Motivation Basic Idea and Definitions The Distance Functions From 2D to 3D (basics) Error estimation Applications and Results Conclusions 1

What is a Voronoi Diagram? Given a collection of geometric primitives, it is a subdivion of space into cells (regions) such that all points in a cell are closer to one primitive than to any other. Primitive (Voronoi site) Voronio Region Ordinary vs. Generalized Primitives: Points Nearest Euclidean Distance Higher-order Sites Primitives: Points, Lines, Polygons, Curves,... Varying distance metrics 2

Voronoi Boundary Curves forming the boundary between the various cells frontier between two cells of different color Delaunay-Triangulation Duality structure to Ordinary Voronoi Diagrams: Connect all primitives with their nearest neighbors 3

What can we do with this stuff? FUNDAMETAL CONCEPT: 1644 Descartes Astronomy 1850 Dirichlet Math 1908 Voronoi Math... 1970 divers... Computational geometry and related areas (first algorithms for computing Voronoi diagrams)... 1999 E. Hoff et al. Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware What can we do with this stuff? Nearest Site Maximally Clear Path Density Estimation Nearest Neighbors 4

Motivation Previous Work: Exact Algorithms no error but... Boundaries composed of high-degree curves and surfaces and their intersections Complex and difficult to implement Robustness and accuracy problems Previous Work: Approximate Algorithms provide a practical solution but... Difficult to error-bound Restricted to static geometry Relativly slow Goals Approximate generalized Voronoi Diagram computation with the following features: Easily generalized Efficient and practical Has tight bounds of accuracy Simple to understand and implement 5

Formal Definition Set of input sites (primitives) A 1,A 2,...,A k dist(p, Ai): distance from the point p to the site Ai The dominance region of A i over Aj is defined by Dom( Ai, Aj ) = { p dist( p, Ai ) dist( p, Aj )} For a site A i, the Voronoi region for A i is defined by V ( Ai ) = I i j Dom( Ai, Aj ) Partition of space into V(A 1 ), V(A 2 ),...,V(A k ): Generalized Voronoi Diagrams Discrete Voronoi Diagrams Uniformliy point-sample the space containing Voronoi sites For each sample find closest site and its distance Brute-force-Algorithm: iterate through all samplepoints (cells) iterate through all primitives => HARDWARE 6

Basic Idea : Cones To visualize Voronoi Diagrams for points... topview, parallel perspective view Graphics Hardware Acceleration Simply rasterize the cones using graphics hardware Our 2-part discrete Voronoi diagram representation Color Buffer Depth Buffer Origin: Woo97 Site IDs Distance 7

Basic Idea: Distance Function Render a polygonal mesh approximation to each site s distance function. Each site has: - unique color ID assigned - corresponding distance mesh rendered in this color using parallel projection We make use of: - linear interpolation across polygons - Z-Buffer depth comparison operation The Distance Function Y X D a b Cone Tent And Polygons, Bezièr-Curves,... What is their distance function? Compose them of points and lines! 8

Approximation Error Distance Function: Meshing Error of a cone min α R R R-ε ε max α/2 α cos( ) = 2 R ε α = 2cos R 1 R ε ( ) R Distance Function Evaluate distance at each pixel for all sites Accelerate using graphics hardware Point Line Triangle 9

Approximation of the Distance Function Avoid per-pixel distance evaluation Point-sample the distance function Reconstruct by rendering polygonal mesh Point Line Triangle Shape of Distance Function Sweep apex of cone along higher-order site to obtain the shape of the distance function 10

Curves Tessellate curve into a polyline Tessellation error is added to meshing error Boundaries &...? Algorithm A: (very simple, accelerated through image op. in ghw) - examine each pairs of adjacent cells - if color different, location between is marked as boundary-point Algorithm B: continuation method - choose seed (known point of boundary) - walk along boundaries until all boundry points are found 11

... Neighbors? Main Question: Which colors touch in the image? Answer, how to find them: Same algorithm as used for finding boundaries What about 3D? Slices of the distance function for a 3D point site Distance meshes used to approximate slices 12

What about 3D? Graphics hardware can generate one 2D slice at a time Point sites 3D Distance Functions Point Line segment Triangle 1 sheet of a hyperboloid Elliptical cone Plane 13

Sources of Error Distance Error meshing tesselation hardware precicision Combinatorial Error Z-Buffer precision distance pixel resolution Resolution Error Adaptive Resolution zoom in to reduce resolution error 14

Error Bounds Error bound is determined by the pixel resolution ε farthest distance a point can be from a pixel sample point Error Bounds Assume: no Z-Buffer precision error we can bound the maximum distance error by ε for a pixel P colored with ID of site (primitive) A and with computed depth buffer of value D, we know: D ε dist( P, A) D + ε further we know, for any other site B D ε dist( P, B) With this information we easily determine that dist( P, A) dist( P, B) + 2ε 15

Implementation complete interactive system in 2D written in C++ using OpenGL and GLUT a standard Z-buffered interpolation-based raster graphics system some first prototypes in 3D runs (without source modification) on: MS-Windows-based PC high-end SGI Onxy2 several problem-based modifications to increase performace... Applications Mosaics Realtime Motion Planning 16

Demo VIDEO General: Conclusions Idea is originally not from E. Hoff or one of the other writters => Open GL Programming Guide, 2nd Edition M. Woo et al. My opinion: Concept very easy to understand......but the main idea is not immediatly obvious! All ideas are implemented, so the reader can easily determine if everything (the notion of distance function etc.) really works 17

THE END Questions? http://www.cs.unc.edu/~hoff/ 18