We present a new algorithm for computing motorcycle graphs that runs in O(n4/3+ε) time for any ε > 0, improving on all previously known algorithms. The main application of this result is to computing the straight skeleton of a polygon. It allows us to compute the straight skeleton of a non-degenerate polygon with h holes in O(n√h+1 log 2 n + n4/3+ε) expected time. If all input coordinates are O(logn)-bit rational numbers, we can compute the straight skeleton of a (possibly degenerate) polygon with h holes in expected time O(n√h+1 log3n). In particular, it means that we can compute the straight skeleton of a simple polygon in O(nlog3n) expected time if all input coordinates are O(log n)-bit rationals, while all previously known algorithms have worst-case running time ω(n3/2).
Publisher
29th Annual Symposium on Computational Geometry, SoCG 2013