3D Convex Hulls Carola Wenk (based on BCKO) 1/28/16 CMPS - - PowerPoint PPT Presentation

3d convex hulls
SMART_READER_LITE
LIVE PREVIEW

3D Convex Hulls Carola Wenk (based on BCKO) 1/28/16 CMPS - - PowerPoint PPT Presentation

CMPS 6640/4040 Computational Geometry Spring 2016 3D Convex Hulls Carola Wenk (based on BCKO) 1/28/16 CMPS 6640/4040 Computational Geometry 1 3D CH: Problem Statement Images from http://xlr8r.info/ compute


slide-1
SLIDE 1

1/28/16 CMPS 6640/4040 Computational Geometry 1

CMPS 6640/4040 Computational Geometry Spring 2016

3D Convex Hulls

Carola Wenk

(based on BCKO)

slide-2
SLIDE 2

3D CH: Problem Statement

  • Given a set
  • compute
  • Use a DCEL to represent the boundary

Images from http://xlr8r.info/

slide-3
SLIDE 3

Clarkson & Shor’s Randomized Incremental Construction (RIC)

  • 1. Choose 4 points in

that do not lie in a common plane. (Otherwise apply planar CH algorithm.) Wlog, let these points be

  • 2. Let

be a random permutation of the remaining

points in .

  • 3. Define
  • for

for r ; ; ++ Compute

by inserting into

slide-4
SLIDE 4

Visible and Invisible Regions

  • If

, then

  • Now, consider the other case
  • Look at
  • from

 visible region and invisible region The visible region and invisible region are connected regions on

, separated by the horizon.

The horizon is a closed curve consisting of edges on

slide-5
SLIDE 5

Horizon

Project

  • nto a plane with as the center
  • f projection.

 Convex polygon that “equals” the horizon.

slide-6
SLIDE 6

Visibility

A facet

  • n

is visible from

:

lies in , where is the plane containing ,

and

is the open halfspace that does not contain

slide-7
SLIDE 7

Storage Data Structure

Store the boundary of , and of all intermediate

, as a DCEL. The vertices are 3D points.

Wlog, half-edges bounding a face that is seen from the

  • utside of the polytope form a counter-clockwise

cycle.

slide-8
SLIDE 8

Compute from

  • Keep invisible facets
  • Replace visible facets

 How to find all visible facets in time linear to their number? ( time is trivial but leads to an

  • algorithm.)
slide-9
SLIDE 9

Conflict/Visibility Lists

Maintain conflict lists for each

  • n

and for

:

  • consists of all points that

can see

  • consists of all facets of
  • visible from
  • is in conflict with

because and cannot be part of the same convex hull

slide-10
SLIDE 10

Conflict Graph

Store all conflict lists in the conflict graph:

  • Bipartite graph
  • Node for every point in

that is not inserted yet

  • Node for every facet of
  • Arc between

and p if is in conflict with (i.e., visible from)

conflicts

slide-11
SLIDE 11

Maintaining the Conflict Graph

  • Initialize conflict graph

for

in linear time

  • Update

after adding :

– Discard from :

  • All neighbors of in . These are the facets visible from .

– Insert nodes in for newly created facets (those facets which connect to the horizon) – Find conflict lists for each newly created facet :

  • A point that sees must also see
  • But then must have seen one of the faces
  • r

incident to in convP

  •  Test all points in the conflict lists of

and

slide-12
SLIDE 12

Algorithm (part 1)

slide-13
SLIDE 13

Algorithm (part 2)

slide-14
SLIDE 14

Algorithm (part 1)

  • )

||

Face can only be deleted if it has been created.  Delete at most once

slide-15
SLIDE 15

Algorithm (part 2)

  • | |

  • Charge to node

and arc creation

Need to bound:

  • |

|

  • ||
  • where the summation is over all horizon edges

that ever appear during the algorithm

  • log

proof in book

slide-16
SLIDE 16

Backwards Analysis

Lemma: The expected number of facets created by the algorithm, ∑ |

|

  • , is at most 6 20.

Proof: = # facets connecting to its horizon on (these are the newly created facets) = # facets that disappear when removing from

  • =: deg

, degree of in

  • deg ,

deg ,

  • [(∑

deg,

  • ) -12]
  • [2 3 6 12
  • = 6

Thus 4 ∑ |

|

  • 4 6 4 6 20

Total degree of , … , is at least 12

slide-17
SLIDE 17

Convex Hull Runtime

  • Theorem: The convex hull of a set of

points in

  • can be computed in randomized expected

time.

  • Theorem (higher dimensions): The complexity of the

convex hull of points in

is / .

It can be computed in randomized expected

/

time.