35
Computational Geometry Definition and Application Areas

Computational geometry

Embed Size (px)

Citation preview

Page 1: Computational geometry

Computational Geometry

Definition and Application Areas

Page 2: Computational geometry

Computational Geometry

is a subfield of the Design and Analysis of Algorithms

Page 3: Computational geometry

Computational Geometry

is a subfield of the Design and Analysis of Algorithms

deals with efficient data structures and algorithms for geometric problems

Page 4: Computational geometry

Computational Geometry

is a subfield of the Design and Analysis of Algorithms

deals with efficient data structures and algorithms for geometric problems

is only about 30 years old

Page 5: Computational geometry

Computational Geometry

is a subfield of the Design and Analysis of Algorithms

deals with efficient data structures and algorithms for geometric problems

is only about 30 years old started out by developing solid theoretical

foundations, but became more and more applied over the last years

Page 6: Computational geometry

Application Areas

Computer Graphics Computer-aided design / manufacturing Telecommunication Geology Architecture Geographic Information Systems VLSI design (chip layout) ...

Page 7: Computational geometry

Surface Reconstruction

Digitizing 3-dimensional objects

Stanford Bunny

Page 8: Computational geometry

Surface Reconstruction

Step 1: Scan the object (3d laser scanner)

set of points in R3

Page 9: Computational geometry

Surface Reconstruction

Step 2: Create a triangulation

set of triangles in R3

Page 10: Computational geometry

Surface Reconstruction

Step 3: process the triangulation (rendering)

smooth surface in R3

Page 11: Computational geometry

Surface Reconstruction

Major Computational Geometry task: Create a “good” triangulation

Page 12: Computational geometry

In this Course:Good and bad triangulations in R ≥ 2

bad triangulation (long and skinny triangles)

Page 13: Computational geometry

In this Course:Good and bad triangulations in R ≥ 2

good triangulation (no small angles, almost regular triangles)

Page 14: Computational geometry

Collision detection

Check whether two (possibly complicated) 3d objects intersect!

Page 15: Computational geometry

Collision detection

Bounding volume heuristic: Approximate the objects by simple ones that

enclose them (bounding volumes)

Page 16: Computational geometry

Collision detection

Bounding volume heuristic: Approximate the objects by simple ones that

enclose them (bounding volumes) popular bounding volumes: boxes, spheres,

ellipsoids,...

Page 17: Computational geometry

Collision detection

Bounding volume heuristic: Approximate the objects by simple ones that

enclose them (bounding volumes) popular bounding volumes: boxes, spheres,

ellipsoids,... if bounding volumes don’t intersect, the objects

don’t intersect, either

Page 18: Computational geometry

Collision detection

Bounding volume heuristic: Approximate the objects by simple ones that

enclose them (bounding volumes) popular bounding volumes: boxes, spheres,

ellipsoids,... if bounding volumes don’t intersect, the objects

don’t intersect, either only if bounding volumes intersect, apply more

expensive intersection test(s)

Page 19: Computational geometry

In this Course:Smallest enclosing ball Given: finite point set in R d

Page 20: Computational geometry

In this Course:Smallest enclosing ball Given: finite point set in R d

Wanted: the smallest ball that contains all the points

Page 21: Computational geometry

In this Course:Smallest enclosing ball Given: finite point set in R d

Wanted: the smallest ball that contains all the points

popular free software (also some commercial licenses sold):

http://www.inf.ethz.ch/personal/gaertner/miniball.html

Page 22: Computational geometry

Boolean Operations

Given two (2d,3d) shapes, compute their...

Page 23: Computational geometry

Boolean Operations

ubiquituous in computer-aided design

Page 24: Computational geometry

In this Course: Arrangements of lines

Page 25: Computational geometry

In this Course: Arrangements of lines Link to Boolean Operations:

Page 26: Computational geometry

In this Course: Arrangements of lines Link to Boolean Operations: Arrangement “contains” all

the unions / differences / intersections

Page 27: Computational geometry

Boolean Operations

Important point: no roundoff errors!

Page 28: Computational geometry

Boolean Operations

Important point: no roundoff errors!

Page 29: Computational geometry

Boolean Operations

Important point: no roundoff errors!

Page 30: Computational geometry

Boolean Operations

Exact computation

correct: intersection is 1-dimensional

Page 31: Computational geometry

Boolean Operations

Naive floating-point computation

wrong: intersection is 2-dimensional

Page 32: Computational geometry

In this Course:CGAL Computational Geometry Algorithms Library

Page 33: Computational geometry

In this Course:CGAL Computational Geometry Algorithms Library C++ library of efficient data structures and

algorithms for many computational geometry problems

Page 34: Computational geometry

In this Course:CGAL Computational Geometry Algorithms Library C++ library of efficient data structures and

algorithms for many computational geometry problems

exists since 1996 (Michael Hoffmann and Bernd Gärtner are members of the editorial board)

Page 35: Computational geometry

In this Course:CGAL Computational Geometry Algorithms Library C++ library of efficient data structures and

algorithms for many computational geometry problems

exists since 1996 (Michael Hoffmann and Bernd Gärtner are members of the editorial board)

supports roundoff-free exact computations