1 / 29

A simple kinetic visibility polygon

Explore a framework for maintaining continuous visibility polygons with kinetic data structures, detecting crossing events, and updating the visibility polygon dynamically. Find the proof of correctness for static cases and animate it as items move. Discover the attributes on items and the idea of updating the visibility polygon. Discuss the pros and cons of this method and potential future work.

lefevre
Download Presentation

A simple kinetic visibility polygon

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A simple kinetic visibility polygon EWCG’02 Samuel Hornus, Claude Puech

  2. Hypothesis : • simply-polygonal obstacles • known algebraic motion (everything can move) • Goals : • maintaining the visibility polygon continuously • Solution : • Kinetic Data Structure framework

  3. Overview • Kinetic Data Structures (KDS) • Visibility polygon • Detecting crossing events • Updating the visibility polygon • Conclusion contributions

  4. Overview • Kinetic Data Structures (KDS) • Visibility polygon • Detecting crossing events • Updating the visibility polygon • Conclusion

  5. certificate failure 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 [Bash and Guibas 95]

  6. Proof of correctness Certificate failure Proof update Attribute update Kinetic Data Structures [Bash and Guibas 95]

  7. Overview • Kinetic Data Structures (KDS) • Visibility polygon • Detecting crossing events • Updating the visibility polygon • Conclusion

  8. Visibility polygon • n vertices / edges • Cyclically ordered set of the n tangent rays • The visible edge is stored between each pair of tangent rays

  9. Overview • Kinetic Data Structures (KDS) • Visibility polygon • Detecting crossing events • Updating the visibility polygon • Conclusion

  10. Detecting Events consecutive rays in the ordered set

  11. crossing event ! Detecting Events

  12. Detecting Events next crossing event

  13. Detecting Events

  14. Overview • Kinetic Data Structures (KDS) • Visibility polygon • Detecting crossing events • Updating the visibility polygon • Conclusion

  15. 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.

  16. Updating the Visibility Polygon • Each tangent ray consists of • the vertex of « tangency »

  17. 8 8 8 8 8 8 8 Updating the Visibility Polygon • Each tangent ray consists of • the vertex of « tangency » • - the hit edge along the ray, beyond the vertex of tangency 8

  18. 8 8 8 8 8 8 8 8 8 Updating the Visibility Polygon • Each tangent ray consists of • the vertex of « tangency » • - the hit edge along the ray • the visible edge at its left

  19. 8 8 8 8 8 8 8 8 8 Updating the Visibility Polygon • Each 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…

  20. Updating the Visibility Polygon Tangent ray type

  21. Updating the Visibility Polygon Before the crossing hit2 hit1 R L

  22. Updating the Visibility Polygon Before the crossing hit2 hit1 R L • There is no other tangent ray between these ones

  23. Updating the Visibility Polygon Before the crossing hit2 hit1 R C L • There is no other tangent ray between these ones • C exists if and only if • hit1 is different from hit2

  24. Updating the Visibility Polygon Before the crossing, when C does not exist hit2 hit1 R L visible = hit2 = hit1

  25. Updating the Visibility Polygon Before the crossing, when C does not exist After the crossing, hit2 R hit2 hit1 hit1 := R R L L visible = hit2 = hit1 visible := L

  26. Updating the Visibility Polygon Before the crossing, when C does not exist hit2 R C L hit1 = C visible = C

  27. Updating the Visibility Polygon hit2 After the crossing, Before the crossing, when C exists R hit2 C R hit1 L C L hit1 = C visible = C visible := L

  28. Conclusion • Pros • Concave (simple) polygons • Constant time processing of an event • Cons • High quantity of crossing events • Future Work • What about 3d ?

  29. A simple kinetic visibility polygon Thank you for your attention Any questions ?

More Related