Kinetic triangulationA kinetic triangulation data structure is a kinetic data structure that maintains a triangulation of a set of moving points. Maintaining a kinetic triangulation is important for applications that involve motion planning, such as video games, virtual reality, dynamic simulations and robotics.[1] Choosing a triangulation schemeThe efficiency of a kinetic data structure is defined based on the ratio of the number of internal events to external events, thus good runtime bounds can sometimes be obtained by choosing to use a triangulation scheme that generates a small number of external events. For simple affine motion of the points, the number of discrete changes to the convex hull is estimated by ,[2] thus the number of changes to any triangulation is also lower bounded by . Finding any triangulation scheme that has a near-quadratic bound on the number of discrete changes is an important open problem.[1] Delaunay triangulationThe Delaunay triangulation seems like a natural candidate, but a tight worst-case analysis of the number of discrete changes that will occur to the Delaunay triangulation (external events) was considered an open problem until 2015;[3] it has now been bounded to be between [4] and .[5] There is a kinetic data structure that efficiently maintains the Delaunay triangulation of a set of moving points,[6] in which the ratio of the total number of events to the number of external events is . Other triangulationsKaplan et al. developed a randomized triangulation scheme that experiences an expected number of external events, where is the maximum number of times each triple of points can become collinear, , and is the maximum length of a Davenport-Schinzel sequence of order s + 2 on n symbols.[1] Pseudo-triangulationsThere is a kinetic data structure (due to Agarwal et al.) which maintains a pseudo-triangulation in events total.[7] All events are external and require time to process. References
|
Portal di Ensiklopedia Dunia