Table of Contents
Fetching ...

Compatible Triangulations of Simple Polygons

Peyman Afshani, Boris Aronov, Kevin Buchin, Maike Buchin, Otfried Cheong, Katharina Klost, Carolin Rehs, Günter Rote

Abstract

Let $P$ and $Q$ be simple polygons with $n$ vertices each. We wish to compute triangulations of $P$ and $Q$ that are combinatorially equivalent, if they exist. We consider two versions of the problem: if a triangulation of $P$ is given, we can decide in $O(n\log n + nr)$ time if $Q$ has a compatible triangulation, where $r$ is the number of reflex vertices of $Q$. If we are already given the correspondence between vertices of $P$ and $Q$ (but no triangulation), we can find compatible triangulations of $P$ and $Q$ in time $O(M(n))$, where $M(n)$ is the running time for multiplying two $n\times n$ matrices.

Compatible Triangulations of Simple Polygons

Abstract

Let and be simple polygons with vertices each. We wish to compute triangulations of and that are combinatorially equivalent, if they exist. We consider two versions of the problem: if a triangulation of is given, we can decide in time if has a compatible triangulation, where is the number of reflex vertices of . If we are already given the correspondence between vertices of and (but no triangulation), we can find compatible triangulations of and in time , where is the running time for multiplying two matrices.
Paper Structure (8 sections, 5 theorems, 9 equations, 4 figures)

This paper contains 8 sections, 5 theorems, 9 equations, 4 figures.

Key Result

Theorem 1

A simple $n$-gon $P$ can be preprocessed in time $O(n \log n)$ into a data structure with $O(n \log n)$ space such that we can answer in constant time queries of the form: are vertex $i$ and $j$ visible in $P$?

Figures (4)

  • Figure 1: Compatible triangulations of two polygons
  • Figure 2: Splitting the region $R$ by a diagonal $d$
  • Figure 3: The recursive procedure ComputeBlock
  • Figure 4: The matrix $B$ is split into $8\times8$ square blocks of size $S=n/8$. The block $B^S_{uv}=B^S_{26}$ is shown to be composed of 4 subblocks of size $S/2$, labeled $\alpha,\beta,\gamma,\delta$ in the order in which they are recursively computed in the procedure $\textit{ComputeBlock}$.

Theorems & Definitions (9)

  • Theorem 1
  • proof
  • Theorem 2
  • proof
  • Theorem 4
  • proof
  • Theorem 5
  • Lemma 6
  • proof