Skeleton computation of orthogonal polyhedra J. Martinez 1 M. Vigo 1 - - PowerPoint PPT Presentation

skeleton computation of orthogonal polyhedra
SMART_READER_LITE
LIVE PREVIEW

Skeleton computation of orthogonal polyhedra J. Martinez 1 M. Vigo 1 - - PowerPoint PPT Presentation

Introduction Related work Algorithm Results Skeleton computation of orthogonal polyhedra J. Martinez 1 M. Vigo 1 , 2 N.Pla 1 , 2 1 Polytechnical University of Catalonia (UPC) 2 Bioengineering Institute of Catalonia (IBEC) Symposium on Geometry


slide-1
SLIDE 1

Introduction Related work Algorithm Results

Skeleton computation of orthogonal polyhedra

  • J. Martinez1
  • M. Vigo1,2

N.Pla1,2

1Polytechnical University of Catalonia (UPC) 2Bioengineering Institute of Catalonia (IBEC)

Symposium on Geometry Processing, 2011

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-2
SLIDE 2

Introduction Related work Algorithm Results

Introduction

Skeletons are powerful geometric abstractions that provide use- ful representations for a number of geometric operations. We require to compute the skeleton of very large datasets storing Orthogonal Polyhedra (OP). We need to treat geometric degeneracies that usually arise when dealing with OP.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-3
SLIDE 3

Introduction Related work Algorithm Results

Contributions

A novel geometric approach so as to robustly compute the skele- ton of orthogonal polyhedra. Our approach relies on the plane sweep paradigm and is output sensitive. The skeleton is only composed of axis-aligned and 45◦ rotated planar faces and has a low combinatorial complexity compared with the medial axis.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-4
SLIDE 4

Introduction Related work Algorithm Results

Related work

The most well-known skeletal representation is the medial axis. An alternative skeletal representation to the medial axis is the straight skeleton. The straight skeleton of polyhedra can be defined in terms of an offset process in which the faces move inward at a constant speed.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-5
SLIDE 5

Introduction Related work Algorithm Results

Related work

Medial axis of OP

  • Complexity O
  • n3+ǫ

, ǫ > 0

  • Composed of quadric surfaces
  • Subset of Voronoi diagram L2

Straight skeleton of OP

  • Complexity O
  • n2
  • Composed of planar faces
  • Coincides with Voronoi dia-

gram L∞ (VD∞)

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-6
SLIDE 6

Introduction Related work Algorithm Results

Related work

To the best of our knowledge the only algorithm that addresses the construction of straight skeletons of polyhedra and OP was presented by Barequet et al. [BEGV08].

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-7
SLIDE 7

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Algorithm overview

Let P be an OP. Let L be the sweep plane perpendicular to the z-axis (z = t). The sweep is done by decreasing the value of t. z

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-8
SLIDE 8

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Algorithm overview

Definition At any moment t, L partitions the features of P into three subsets: At corresponds to those that lie fully above of L, It corresponds to those that intersect L, and Bt corresponds to those that lie fully below of L. Ct is composed of the portion of It that lies above L. Lt is the set of faces of P contained in L plus the portion of L that belongs to the interior of P. Algorithm invariant At every instant t of the sweeping process the VD∞ of At ∪ Ct ∪ Lt is computed.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-9
SLIDE 9

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Algorithm overview

L stops whenever a new event is found:

Vertex event: A vertex v of P and a ray associated to v. Junction event: Centre of a cube touching four faces of P.

Property The wavefront is the portion of the VD∞ induced by Lt and is mono- tone in the z-axis direction.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-10
SLIDE 10

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Algorithm overview

Algorithm R ← ∅ E ← All the vertex events induced by P while E = ∅ do e ← pop(E) if e is valid then Update the straight skeleton according to e Insert in R new ray/s induced by e Remove from R closed ray/s of e Update wavefront Compute nearest junction of new ray/s end if end while

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-11
SLIDE 11

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Vertex event

The vertices of a two-manifold OP can be classified into three types depending on the number of incident faces. If a vertex of P has more than three incident oriented faces it produces more than one ray.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-12
SLIDE 12

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Junction event

We distinguish two types of junction events:

Ray-ray junction: Two rays of R may define a Voronoi vertex. Two new rays emanate from the junction. Ray-face junction: A ray of R and a face of P may define a Voronoi vertex. Three new rays emanate from the junction.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-13
SLIDE 13

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Ray-ray junction

(f1, f2, f3) (f1, f2, f4) (f1, f3, f4) (f2, f3, f4) f2 f3 f4 f1

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-14
SLIDE 14

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Ray-face junction

f1 f2 f4 f3 (f1, f3, f4) (f1, f2, f4) (f2, f3, f4) (f1, f2, f3)

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-15
SLIDE 15

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Wavefront update

We insert or remove graph vertices and locally update the con- nectivity of the wavefront graph when a new event occurs. The wavefront update of a ray-ray junction is done by checking the finite set of neighbouring rays of the closed rays. The wavefront update of a ray-face junction is done by retrieving the wavefront edge intersected by the ray.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-16
SLIDE 16

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Nearest junction computation

To detect the nearest ray-ray junction of a ray we check its neighbouring wavefront rays. If a ray has a negative orientation in the z-axis direction we retrieve the intersected wavefront edge. If a ray has a positive orientation in the z-axis direction we retrieve the intersected wavefront face.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-17
SLIDE 17

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Computational complexity

We have to process k events that correspond to the number of vertices of the straight skeleton. Lemma The straight skeleton of orthogonal polyhedra can be straightfor- wardly computed in O (kn) time. Lemma The straight skeleton of orthogonal polyhedra can be computed in O (klogcn), for a constant c.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-18
SLIDE 18

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Handling geometric degeneracies

We distinguish two kind of geometrical degeneracies:

Coplanar faces Coincident faces

If a degeneracy is detected, we simulate a perturbation in order to break it. We assign a symbolical offset to each face.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-19
SLIDE 19

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Coplanar degeneracies

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-20
SLIDE 20

Introduction Related work Algorithm Results Algorithm overview Events Wavefront and junction update Geometric degeneracies

Coincident degeneracies

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-21
SLIDE 21

Introduction Related work Algorithm Results

Results

We computed the straight skeleton of some representative ob- jects in order to check the robustness and compared our ap- proach with an optimized thinning method. We obtained better results. The algorithm has been implemented in C++ and the source code consists of about 3000 lines of code.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-22
SLIDE 22

Introduction Related work Algorithm Results

Results

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-23
SLIDE 23

Introduction Related work Algorithm Results

Results

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-24
SLIDE 24

Introduction Related work Algorithm Results

Future work

Extend our approach to handle non-manifold orthogonal poly- hedra that arise in voxel datasets. Develop and approximate approach starting from the formula- tion of the straight skeleton. Approximate the skeleton of non-orthogonal polyhedra.

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra

slide-25
SLIDE 25

Introduction Related work Algorithm Results

Acknowledgments Thank you for your attention.

This work has been partially supported by the project TIN2008-02903 of the Spanish government and by the IBEC (Bioengineering Institute of Catalonia).

  • J. Martinez, M. Vigo, N.Pla

Skeleton computation of orthogonal polyhedra