a simple kinetic visibility polygon

Post on 18-Jan-2016

43 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

A simple kinetic visibility polygon. EWCG’02 Samuel Hornus, Claude Puech. Hypothesis : simply-polygonal obstacles known algebraic motion (everything can move) Goals : maintaining the visibility polygon continuously Solution : Kinetic Data Structure framework. Overview. - PowerPoint PPT Presentation

TRANSCRIPT

iMAGIS is a joint project of CNRS - INPG - INRIA - UJF

iMAGIS-GRAVIR / IMAG

A simple kinetic visibility polygon

EWCG’02

Samuel Hornus, Claude Puech

iMAGIS-GRAVIR / IMAG

Hypothesis :

• simply-polygonal obstacles

• known algebraic motion (everything can move)

Goals :

• maintaining the visibility polygon continuously

Solution :

Kinetic Data Structure framework

iMAGIS-GRAVIR / IMAG

Overview

• Kinetic Data Structures (KDS)

• Visibility polygon

• Detecting crossing events

• Updating the visibility polygon

• Conclusion

contributions

iMAGIS-GRAVIR / IMAG

Overview

• Kinetic Data Structures (KDS)

• Visibility polygon

• Detecting crossing events

• Updating the visibility polygon

• Conclusion

iMAGIS-GRAVIR / IMAG

Kinetic Data Structures

• Moving Items (points, segments, …)

• Attributes on the items (convex hull, voronoï diagram)

given with a proof of correctness for the static case

• Idea : animating the proof through time when items are moving

certificate failure

[Bash and Guibas 95]

iMAGIS-GRAVIR / IMAG

Kinetic Data Structures

Proof ofcorrectness

Certificatefailure

Proof update Attribute update

[Bash and Guibas 95]

iMAGIS-GRAVIR / IMAG

Overview

• Kinetic Data Structures (KDS)

• Visibility polygon

• Detecting crossing events

• Updating the visibility polygon

• Conclusion

iMAGIS-GRAVIR / IMAG

Visibility polygon

• n vertices / edges

• Cyclically ordered set of the n tangent rays

• The visible edge is stored between each pair of tangent rays

iMAGIS-GRAVIR / IMAG

Overview

• Kinetic Data Structures (KDS)

• Visibility polygon

• Detecting crossing events

• Updating the visibility polygon

• Conclusion

iMAGIS-GRAVIR / IMAG

Detecting Eventsconsecutive rays in the ordered set

iMAGIS-GRAVIR / IMAG

Detecting Events

crossingevent !

iMAGIS-GRAVIR / IMAG

Detecting Events

next crossing event

iMAGIS-GRAVIR / IMAG

Detecting Events

iMAGIS-GRAVIR / IMAG

Overview

• Kinetic Data Structures (KDS)

• Visibility polygon

• Detecting crossing events

• Updating the visibility polygon

• Conclusion

iMAGIS-GRAVIR / IMAG

Updating the Visibility Polygon

Knowing only the visibility polygon is not enough to maintain it, we need more data…

We will use a weak radial decomposition of the scene.

iMAGIS-GRAVIR / IMAG

Updating the Visibility PolygonEach tangent ray consists of

- the vertex of « tangency »

iMAGIS-GRAVIR / IMAG

Updating the Visibility PolygonEach tangent ray consists of

- the vertex of « tangency »

- the hit edge along the ray, beyond the vertex of tangency

8

88

88 8

8

8

iMAGIS-GRAVIR / IMAG

Updating the Visibility PolygonEach tangent ray consists of

-the vertex of « tangency »

- the hit edge along the ray

-the visible edge at its left

88

88

88

8

8

8

iMAGIS-GRAVIR / IMAG

Updating the Visibility PolygonEach tangent ray consists of

-the vertex of « tangency »

- the hit edge along the ray

-the visible edge at its left

-the type of the tangency vertex

see next slide…

88

88

88

8

8

8

iMAGIS-GRAVIR / IMAG

Updating the Visibility Polygon

Tangent ray type

iMAGIS-GRAVIR / IMAG

Updating the Visibility Polygon

R

L

hit2hit1Before the crossing

iMAGIS-GRAVIR / IMAG

Updating the Visibility Polygon

• There is no other tangent ray between these ones

Before the crossing

R

L

hit2hit1

iMAGIS-GRAVIR / IMAG

Updating the Visibility Polygon

C

R

L

hit2hit1

• There is no other tangent ray between these ones

Before the crossing

• C exists if and only if

hit1 is different from hit2

iMAGIS-GRAVIR / IMAG

Updating the Visibility Polygon

R

L

hit2hit1

Before the crossing,

when C does not exist

visible = hit2 = hit1

iMAGIS-GRAVIR / IMAG

Updating the Visibility PolygonAfter the crossing,

R

L

hit1 := R

hit2

R

L

hit2hit1

Before the crossing,

when C does not exist

visible = hit2 = hit1

visible := L

iMAGIS-GRAVIR / IMAG

Updating the Visibility Polygon

R

L

hit2

Before the crossing,

when C does not exist

visible = C

C

hit1 = C

iMAGIS-GRAVIR / IMAG

Updating the Visibility PolygonAfter the crossing,

L

C

R

hit1

hit2

R

L

hit2

Before the crossing,

when C exists

visible = C

C

visible := L

hit1 = C

iMAGIS-GRAVIR / IMAG

ConclusionPros

• Concave (simple) polygons

• Constant time processing of an event

Cons

• High quantity of crossing events

Future Work

• What about 3d ?

iMAGIS-GRAVIR / IMAG

A simple kinetic visibility polygon

Thank you for your attention

Any questions ?

top related