i magis is a joint project of cnrs - inpg - inria - ujf imagis-gravir / imag a simple kinetic...
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 ?