Delaunay三角形分割

同義語:ドロネー三角形分割Delaunay triangulation

概要

Delaunay三角形分割(Delaunay triangulation)とは、平面の有限個の点の集まりを頂点としてその凸包を三角形に分けたもののうち、どの三角形の外接円の内部にもほかの点がないもののことである。点 $(x,y)$ を放物面の点 $(x,y,x^2+y^2)$ に持ち上げると「外接円の内部」は「平面の下」に変わり、隣り合う 2 つの三角形でこの条件が破れている辺を取り替える操作をくり返すと、有限回で Delaunay 三角形分割に達する。点が一直線上になければいつも存在し、どの 4 点も同じ円の上になければただ 1 つで、そのとき三角形の最小の角を最大にする三角形分割になる。Voronoi 図と双対の関係にあり、計算幾何学や網目の生成の基本の道具である。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 凸包, 三角形の外心, 円周角の定理, 凸関数

平面にばらばらに置いた有限個の点を頂点として、点の集まりの凸包を三角形に分けたい。分け方はたくさんあるが、細長い三角形はできるだけ避けたい。どの三角形の外接円の内部にもほかの点がない、という条件で選んだ分け方を Delaunay 三角形分割(Delaunay triangulation)という。三角形の外心 の節「大学数学で見る:Voronoi 図と Delaunay 三角形分割」で見たように、この条件は Voronoi 図の頂点と結びついている。
この記事では、Delaunay 三角形分割がいつでも存在し、任意の三角形分割から「辺の取り替え」をくり返すと有限回で得られること、どの 4 点も同じ円の上になければただ 1 つであること(thm-dlt-main)を証明する。鍵は、点 $(x,y)$ を放物面の上の点 $(x,y,x^2+y^2)$ に持ち上げると、「外接円の内部にある」が「平面より下にある」に変わることである(lem-dlt-lift)。さらに、三角形の最小の角を最大にする Delaunay 三角形分割があり、どの 4 点も同じ円の上になければただ 1 つの Delaunay 三角形分割が最小の角を最大にすることを証明する(thm-dlt-angle)。

定義

以下、$S\subset\mathbb{R}^2$ は有限集合で、1 本の直線の上には含まれないとする(とくに $S$ は 3 点以上を含む)。$\operatorname{conv}S$ は $S$ の 凸包 で、凸多角形である。一直線上にない 3 点 $a,b,c$ の凸包を 三角形 $abc$ といい(閉集合とする)、$a,b,c$ をその頂点、線分 $ab,bc,ca$ をその辺という。

点の集まりの三角形分割

三角形の有限集合 $T$ が $S$ の 三角形分割 であるとは、次の 3 条件を満たすことをいう。

  1. 各 $t\in T$ の頂点は $S$ の点であり、$t\cap S$ は $t$ の頂点の 3 点だけである。
  2. $T$ の三角形の和集合は $\operatorname{conv}S$ である。
  3. 異なる $t,t'\in T$ の共通部分は、空集合か、共通の頂点 1 つか、共通の辺 1 本である。

1 と 2 から、$S$ のどの点もある三角形の頂点になる。三角形の辺のうち $\operatorname{conv}S$ の境界に含まれないものを 内部の辺 という。内部の辺 $ab$ は、ちょうど 2 つの三角形 $abc,abd$ の辺で、$c$ と $d$ は直線 $ab$ の反対側にある(lem-dlt-edge)。

Delaunay 三角形分割

$S$ の三角形分割 $T$ が Delaunay 三角形分割 であるとは、どの $t\in T$ についても、$t$ の外接円の内部(中心からの距離が半径より小さい点の全体)に $S$ の点がないことをいう。内部の辺 $ab$(三角形 $abc,abd$ の辺)について、$d$ が三角形 $abc$ の外接円の内部にないとき、辺 $ab$ は 局所 Delaunay であるという。

局所 Delaunay の条件は、$c$ と $d$ について対称である(lem-dlt-flip の 4)。Delaunay 三角形分割の内部の辺はどれも局所 Delaunay である。逆も成り立つことを prop-dlt-convex で示す。

内部の辺の両側

$T$ を $S$ の三角形分割、$ab$ を三角形 $abc\in T$ の辺とする。$ab$ が $\operatorname{conv}S$ の境界に含まれるなら、$ab$ を辺にもつ $T$ の三角形は $abc$ だけである。含まれないなら、$abc$ のほかにちょうど 1 つの $abd\in T$ があり、$d$ は直線 $ab$ について $c$ の反対側にある。

辺の中点のまわりの半円板

要点:辺の中点 $p$ のまわりの小さな半円板が、どの三角形に覆われるかを見る。

詳しい証明を開く

$p$ を $ab$ の中点とする。$ab$ を辺にもつ三角形は、$p$ の近くで、第 3 の頂点の側の半円板($p$ を中心とする十分小さい半径の円板と、直線 $ab$ で区切られた閉半平面の共通部分)を含む。同じ側に第 3 の頂点をもつ 2 つの三角形は、この半円板を共有して内部が交わるので、条件 3 に反する。よって $ab$ を辺にもつ三角形は、直線 $ab$ の各側に高々 1 つである。

$ab$ が境界に含まれるなら、直線 $ab$ は $\operatorname{conv}S$ の支持直線で、$\operatorname{conv}S$ は $c$ の側にあるので、反対側に第 3 の頂点をもつ三角形はない。

$ab$ が境界に含まれないとする。$p$ が境界の点なら、$p$ を通る支持直線 $L$ があり、$\operatorname{conv}S$ は $L$ の片側にある。線分 $ab\subset\operatorname{conv}S$ はその内部の点 $p$ で $L$ に触れるので $ab\subset L$ となり、$ab$ が境界に含まれて矛盾する。よって $p$ は $\operatorname{conv}S$ の内部の点で、$p$ を中心とする小さい円板 $B$ は $\operatorname{conv}S$ に含まれ、$p$ を含まない三角形(有限個の閉集合)と交わらない。$B$ のうち直線 $ab$ について $c$ の反対側の開いた部分は、$p$ を含む三角形で覆われるが、$abc$ には含まれない。覆う三角形は有限個の閉集合なので、その部分の点で $p$ に近づく点列を無限に多く含む三角形 $t'\ne abc$ があり、$t'$ は $p$ を含む。$t'\cap abc$ は $ab$ の内部の点 $p$ を含むので、条件 3 により共通の辺で、$p$ を含む $abc$ の辺は $ab$ だけだから、$t'=abd$ の形である。$t'$ は $B$ の反対側の部分の点を含むので、$d$ は $c$ の反対側にある。$\square$

放物面への持ち上げ

$q(x):=\lvert x\rvert^2$($x\in\mathbb{R}^2$)とおく。一直線上にない 3 点 $a,b,c$ について、$\ell_{abc}$ を、$a,b,c$ で $q$ と同じ値をとるただ 1 つのアフィン関数($k_0+\langle k,x\rangle$ の形の関数。$k_0\in\mathbb{R}$、$k\in\mathbb{R}^2$)とする。グラフで言えば、放物面 $z=q(x)$ の上の 3 点を通る平面である。

外接円と持ち上げ

三角形 $abc$ の外接円の中心を $o$、半径を $r$ とすると、すべての $x\in\mathbb{R}^2$ について
$$ q(x)-\ell_{abc}(x)=\lvert x-o\rvert^2-r^2 $$
である。したがって、点 $x$ が外接円の内部・円周上・外部にあることは、それぞれ $q(x)<\ell_{abc}(x)$、$=$、$>$ と同値である。

円の方程式を展開する

$\lvert x-o\rvert^2-r^2=q(x)-2\langle o,x\rangle+\lvert o\rvert^2-r^2$ なので、$m(x):=2\langle o,x\rangle-\lvert o\rvert^2+r^2$ とおくと $\lvert x-o\rvert^2-r^2=q(x)-m(x)$ である。$m$ はアフィン関数で、$x=a,b,c$ では左辺が $0$ なので $m=q$ である。一直線上にない 3 点での値はアフィン関数を決めるので $m=\ell_{abc}$ である。$\square$

三角形分割 $T$ について、各三角形 $t\in T$ の上で $\ell_t$ に等しい関数を $f_T\colon\operatorname{conv}S\to\mathbb{R}$ とする。2 つの三角形の共通部分(頂点か辺)では両者の値が一致するので、$f_T$ は矛盾なく定まる連続関数であり、$S$ の点では $f_T=q$ である。$f_T$ のグラフは、持ち上げた点を頂点とする三角形をつないだ曲面である。

Delaunay 性と凸性

$S$ の三角形分割 $T$ について、次の 3 条件は同値である。

  1. $T$ は Delaunay 三角形分割である。
  2. $f_T$ は $\operatorname{conv}S$ の上の 凸関数 である。
  3. 内部の辺はすべて局所 Delaunay である。
    さらにこのとき、すべての $t\in T$ について $\operatorname{conv}S$ の上で $f_T\ge\ell_t$ である。
凸関数は接する平面の上にある

(1 ⇒ 2)。1 を仮定し、$t\in T$ を 1 つとる。lem-dlt-lift により、すべての $s\in S$ で $\ell_t(s)\le q(s)$ である。任意の $y\in\operatorname{conv}S$ は、ある $t'\in T$ の頂点 $w_1,w_2,w_3$ の凸結合 $y=\sum_j\mu_jw_j$ で、
$$ f_T(y)=\sum_j\mu_jq(w_j)\ge\sum_j\mu_j\ell_t(w_j)=\ell_t(y) $$
である。よって $f_T\ge\ell_t$ がすべての $t$ で成り立ち、$t$ の上では等号なので $f_T=\max_{t\in T}\ell_t$ である。アフィン関数の最大は凸関数である。
(2 ⇒ 1)。$t\in T$ の内部の点 $x_0$ と $y\in\operatorname{conv}S$ をとり、$\varphi(s):=f_T(x_0+s(y-x_0))$($0\le s\le1$)とおく。$\varphi$ は凸で、小さい $\varepsilon>0$ について $[0,\varepsilon]$ ではアフィン関数 $\psi(s):=\ell_t(x_0+s(y-x_0))$ に等しい。凸関数の傾きの単調性(凸関数 の命題「凸関数の傾きの単調性」)から、$s>\varepsilon$ なら $\frac{\varphi(s)-\varphi(0)}{s}\ge\frac{\varphi(\varepsilon)-\varphi(0)}{\varepsilon}$ で、右辺は $\psi$ の傾きなので $\varphi(s)\ge\psi(s)$ である。$s=1$ として $f_T(y)\ge\ell_t(y)$ を得る。$y\in S$ とすると $q(y)\ge\ell_t(y)$ で、lem-dlt-lift により $y$ は $t$ の外接円の内部にない。
(1 ⇒ 3) は定義から明らかである。
(3 ⇒ 2)。要点:局所 Delaunay は、辺をはさむ 2 つの三角形の上で $f_T$ が 2 枚の平面の最大になっている(辺で下に凸に折れている)ことを言う。各辺で凸なら、線分に沿って傾きが増えるので全体で凸になる。

詳しい証明を開く

段 1(辺の近く)。内部の辺 $ab$(三角形 $abc,abd$)で、$g:=\ell_{abd}-\ell_{abc}$ はアフィン関数で、直線 $ab$ の上で $0$、$d$ で $q(d)-\ell_{abc}(d)\ge0$ である。よって $g$ は $d$ の側で $0$ 以上、$c$ の側で $0$ 以下であり、$abc\cup abd$ の上で $f_T=\max(\ell_{abc},\ell_{abd})$ である。

段 2(よい線分)。$\operatorname{conv}S$ の内部の 2 点 $x,y$ を結ぶ線分が $S$ の点を通らず、どの辺とも高々 1 点で交わるとする。線分は $\operatorname{conv}S$ の内部にあるので、辺と交わる点はどれも内部の辺の内部の点で、交わる点は有限個である。$\varphi(s):=f_T(x+s(y-x))$ は、交わる点の間ではアフィンで、交わる点の近くでは段 1 により 2 つのアフィン関数の最大なので傾きが増える。傾きが左から右へ増える連続な折れ線関数なので、$\varphi$ は凸である。

段 3(一般の線分)。$S$ の点 $v$ を通る線分の端点の組 $(x,y)$ の全体と、ある辺の直線の上に $x,y$ がともにある組の全体は、どれも $\mathbb{R}^2\times\mathbb{R}^2$ の内点をもたない閉集合で、有限個である。よって段 2 の組は $(\operatorname{conv}S)^2$ の中で稠密であり、凸性の不等式 $f_T((1-s)x+sy)\le(1-s)f_T(x)+sf_T(y)$ は $f_T$ の連続性によって極限でも成り立つ。$\square$

(1 ⇒ 2) の証明から、Delaunay 三角形分割では、持ち上げた点はすべて各三角形の平面の上か上方にある。このことから、Delaunay 三角形分割は、持ち上げた点の凸包の下側の面を真下に射影したものとしても得られる(For17 §27.1「Relation to convexity」。この記事ではこの形では証明しない)。

主定理:存在と一意性

内部の辺 $ab$(三角形 $abc,abd$)が局所 Delaunay でないとき、2 つの三角形 $abc,abd$ を $acd,bcd$ に取り替えることを、辺 $ab$ の フリップ という。

フリップ

$T$ を $S$ の三角形分割とし、内部の辺 $ab$(三角形 $abc,abd$)で、$d$ が三角形 $abc$ の外接円の内部にあるとする。

  1. 線分 $ab$ と $cd$ は、両方の内部の点 $m$ で交わる。
  2. $T':=(T\setminus\{abc,abd\})\cup\{acd,bcd\}$ は $S$ の三角形分割である。
  3. $\operatorname{conv}S$ の上で $f_{T'}\le f_T$ であり、$f_{T'}(m)< f_T(m)$ である。
  4. $c$ は三角形 $abd$ の外接円の内部にある。
放物面の凸性で四角形の凸性を示す
  1. $c,d$ は直線 $ab$ の反対側にあるので、線分 $cd$ は直線 $ab$ と 1 点 $m$ で交わり、$m\ne c,d$ である。$m$ が線分 $ab$ の内部にないとし、$a,b$ の名前を入れ替えて $m=a+\sigma(a-b)$($\sigma\ge0$)とする。すると $a=\frac{1}{1+\sigma}m+\frac{\sigma}{1+\sigma}b$ は $m$ と $b$ の凸結合で、$m$ は $c,d$ の凸結合なので、$a=\beta b+\gamma c+\delta d$($\beta,\gamma,\delta\ge0$、和が $1$)と書ける。$a$ は線分 $bc$ の上にないので $\delta>0$ である。$q$ は凸関数で、$q(b)=\ell_{abc}(b)$、$q(c)=\ell_{abc}(c)$、lem-dlt-lift により $q(d)<\ell_{abc}(d)$ なので
    $$ q(a)\le\beta q(b)+\gamma q(c)+\delta q(d)<\beta\ell_{abc}(b)+\gamma\ell_{abc}(c)+\delta\ell_{abc}(d)=\ell_{abc}(a)=q(a) $$
    となり矛盾する。よって $m$ は $ab$ の内部の点である。
  2. $m=\gamma c+\delta d$($\gamma,\delta>0$、$\gamma+\delta=1$)と書く。$abc=amc\cup bmc$、$abd=amd\cup bmd$、$acd=amc\cup amd$、$bcd=bmc\cup bmd$ であり、4 つの小さな三角形 $amc,bmc,amd,bmd$ の上では $f_T$ と $f_{T'}$ はどちらもアフィンである。頂点 $a,b,c,d$ では両者は $q$ に等しく、$m$ では
    $$ f_T(m)=\ell_{abc}(m)=\gamma q(c)+\delta\ell_{abc}(d)>\gamma q(c)+\delta q(d)=f_{T'}(m) $$
    である。アフィン関数の大小は頂点で比べればよいので、4 つの小さな三角形の上で $f_{T'}\le f_T$ であり、ほかの三角形の上では両者は等しい。
  3. $m$ は $abd$ の辺の上の点でもあるので $f_T(m)=\ell_{abd}(m)=\gamma\ell_{abd}(c)+\delta q(d)$ である。(3) の不等式と比べて $\ell_{abd}(c)>q(c)$ となり、lem-dlt-lift から結論を得る。
  4. 要点:$Q:=abc\cup abd=acd\cup bcd$ は凸四角形で、ほかの三角形は $Q$ と境界でしか交わらない。
    詳しい証明を開く

    (1) から $Q=\operatorname{conv}\{a,b,c,d\}$ で、上の分解から $acd\cup bcd=Q$、$acd\cap bcd=cd$ である。$Q\cap S=\{a,b,c,d\}$($abc$ と $abd$ について条件 1)で、$b\notin acd$、$a\notin bcd$($m$ が $ab$ の内部の点なので、$a,b$ は直線 $cd$ の反対側にある)から、新しい三角形も条件 1 を満たす。ほかの $t''\in T$ について、$t''\cap abc$、$t''\cap abd$ は空か頂点か辺で、lem-dlt-edge により辺 $ab$ ではないから、$t''\cap Q$ は $Q$ の境界に含まれる凸集合であり、したがって $Q$ の 1 辺($ac,cb,bd,da$ のどれか)に含まれる。たとえば $ac$ に含まれるなら $t''\cap Q=t''\cap abc$ は空・$\{a\}$・$\{c\}$・$ac$ のどれかで、$t''\cap acd$ はそれと同じ、$t''\cap bcd\subset ac\cap bcd=\{c\}$ である。ほかの辺でも同じなので条件 3 が成り立つ。条件 2 は $Q$ が変わらないので成り立つ。$\square$

三角形分割の存在

$S$ の三角形分割はある。

点を 1 つずつ加える

要点:$\operatorname{conv}S$ の角の点から扇形に分け、残りの点を 1 つずつ加えて三角形を分割する。

詳しい証明を開く

$\operatorname{conv}S$ は凸多角形で、その角の点 $p_0,\dots,p_{k-1}$(反時計回り、$k\ge3$)は $S$ の点である。三角形 $p_0p_jp_{j+1}$($1\le j\le k-2$)は、角の点の集合の三角形分割である($p_0$ から出る半直線 $p_0p_1,\dots,p_0p_{k-1}$ はこの順に並び、隣り合う 2 本ではさまれた部分が 1 つの三角形になる)。

角の点を含み $S$ に含まれる集合 $S'$ の三角形分割 $T$($\operatorname{conv}S'=\operatorname{conv}S$)と、$x\in S\setminus S'$ が与えられたとする。$x$ を含む三角形 $abc\in T$ をとる。$x$ が $abc$ の内部にあれば、$abc$ を $xab,xbc,xca$ に分ける。$x$ が辺 $ab$ の内部にあれば、$abc$ を $xbc,xca$ に分け、$ab$ が内部の辺なら(lem-dlt-edge)もう一方の $abd$ も $xbd,xda$ に分ける($x$ は $S'$ の点でないので頂点ではない)。分けた三角形は元の三角形の和集合をちょうど覆い、ほかの三角形との共通部分は変わらないので、$S'\cup\{x\}$ の三角形分割を得る。これを $S\setminus S'$ の点がなくなるまでくり返す。$\square$

Delaunay 三角形分割の存在と一意性

$S\subset\mathbb{R}^2$ を、1 本の直線の上に含まれない有限集合とする。

  1. $S$ の Delaunay 三角形分割は存在する。さらに、$S$ の任意の三角形分割から始めて、局所 Delaunay でない内部の辺のフリップをくり返すと、有限回で止まり、止まったときの三角形分割は Delaunay 三角形分割である。
  2. $S$ のどの 4 点も 1 つの円の上にないとする。このとき、一直線上にない 3 点 $a,b,c\in S$ で、三角形 $abc$ の外接円の内部に $S$ の点がないもの(空の円をもつ三角形)の全体は、$S$ の Delaunay 三角形分割をなし、$S$ の Delaunay 三角形分割はこれただ 1 つである。
持ち上げた関数が下がり続ける
  1. lem-dlt-exists により三角形分割 $T_0$ がある。$T_k$ に局所 Delaunay でない内部の辺があればそれをフリップして $T_{k+1}$ とする。lem-dlt-flip により $T_{k+1}$ は三角形分割で、$f_{T_{k+1}}\le f_{T_k}$ かつ $f_{T_{k+1}}\ne f_{T_k}$ である。したがって $f_{T_0}\ge f_{T_1}\ge\cdots$ で、$j< k$ なら $f_{T_k}\ne f_{T_j}$、とくに $T_k\ne T_j$ である。$S$ の三角形分割は、頂点が $S$ にある三角形(有限個)の集合の部分集合なので有限個しかない。よってこの操作は有限回で止まる。止まった三角形分割では内部の辺がすべて局所 Delaunay なので、prop-dlt-convex の 3 ⇒ 1 により Delaunay 三角形分割である。
  2. $D$ を $S$ の Delaunay 三角形分割((1) によりある)とする。$D$ の三角形は定義から空の円をもつ。逆に、空の円をもつ三角形 $t_0=abc$ が $D$ に属することを示す。
    prop-dlt-convex により $f_D$ は凸で、$f_D=q$ を $S$ の上で満たす。$x\in t_0$ を $x=\lambda_aa+\lambda_bb+\lambda_cc$(凸結合)と書くと、凸性から $f_D(x)\le\lambda_aq(a)+\lambda_bq(b)+\lambda_cq(c)=\ell_{t_0}(x)$ である。一方、$t_0$ の外接円の内部に $S$ の点がないので、lem-dlt-lift により $S$ の上で $\ell_{t_0}\le q$ であり、prf-dlt-convex の (1 ⇒ 2) と同じ計算で $\operatorname{conv}S$ の上で $\ell_{t_0}\le f_D$ である。よって $t_0$ の上で $f_D=\ell_{t_0}$ である。
    $D$ の辺は有限個の線分なので、$t_0$ の内部の点 $x$ で、$D$ のどの辺の上にもないものがとれる。$x$ はある $t\in D$ の内部の点で、$f_D(x)=\ell_t(x)=\ell_{t_0}(x)$ である。$t\ne t_0$ と仮定すると、$t$ の頂点のうち $t_0$ の頂点でないもの $w$ がある。どの 4 点も 1 つの円の上にないので $w$ は $t_0$ の外接円の上になく、内部にもないので外部にあり、$q(w)>\ell_{t_0}(w)$ である。$t$ の頂点を $w_1,w_2,w_3$ として $x=\sum_j\mu_jw_j$($x$ が内部の点なのですべての $\mu_j>0$)と書くと
    $$ \ell_t(x)=\sum_j\mu_jq(w_j)>\sum_j\mu_j\ell_{t_0}(w_j)=\ell_{t_0}(x) $$
    となり矛盾する。よって $t_0=t\in D$ である。
    以上から、$D$ の三角形の集合は「空の円をもつ三角形の全体」に等しく、$D$ の選び方によらない。$\square$
  1. の仮定を外すと一意性は崩れる。正方形の 4 頂点では、どちらの対角線で分けても Delaunay 三角形分割になる(三角形の外心 の例「反例:円の上に 4 つの母点がある場合」)。
1 回のフリップ

$S=\{A(0,0),B(4,0),C(5,3),D(0,3)\}$ とする(三角形の外心 の例「4 つの母点で空の円を調べる」と同じ点)。対角線 $AC$ で分けた三角形分割 $\{ABC,ACD\}$ では、$D$ が三角形 $ABC$ の外接円(中心 $(2,\frac73)$、半径の 2 乗 $\frac{85}9$)の内部にある($D$ までの距離の 2 乗は $\frac{40}9$)。辺 $AC$ をフリップすると $\{ABD,BCD\}$ になり、これが Delaunay 三角形分割である。
対角線の交点は $m=(\frac{20}9,\frac{12}9)$ で、$m=\frac59A+\frac49C=\frac59B+\frac49D$ である。持ち上げた関数の値は
$$ f_{\{ABC,ACD\}}(m)=\tfrac59q(A)+\tfrac49q(C)=\tfrac{136}9,\qquad f_{\{ABD,BCD\}}(m)=\tfrac59q(B)+\tfrac49q(D)=\tfrac{116}9 $$
で、フリップで下がっている(lem-dlt-flip の 3)。最小の角は、$\{ABC,ACD\}$ では $\angle BAC=\angle ACD=\arctan\frac35\approx30.96^\circ$、$\{ABD,BCD\}$ では $\angle ABD=\angle BDC=\arctan\frac34\approx36.87^\circ$ で、フリップで大きくなっている(thm-dlt-angle)。

最小の角を最大にする

三角形分割 $T$ に現れる三角形の内角のうち最小のものを $\alpha(T)$ と書く。Delaunay 三角形分割が $\alpha$ を最大にすることは、Lawson による古典的な結果として知られている(For17 §27.4「Roundness」)。この節ではそれを証明する。

円の内部から見込む角

円 $\Gamma$ の上の相異なる 2 点 $X,Y$ と、$\Gamma$ の上の点 $Q\ne X,Y$、$\Gamma$ の内部の点 $P$ があり、$P$ と $Q$ は直線 $XY$ の同じ側にあるとする。このとき $\angle XPY>\angle XQY$ である。

外角の定理

半直線 $XP$ が $\Gamma$ と再び交わる点を $P'$ とすると、$P$ は円の内部の点なので線分 $XP'$ の内部にあり、$P'$ は $P$ と同じく直線 $XY$ の $Q$ の側にある。$Y$ は直線 $XP'$ の上にない(直線と円の交点は $X,P'$ だけで、$Y=P'$ なら $P$ が線分 $XY$ の上に来る)。円周角の定理 の系「同じ弧に対する円周角」により $\angle XP'Y=\angle XQY$ で、三角形 $PP'Y$ の外角について $\angle XPY=\angle PP'Y+\angle PYP'>\angle PP'Y=\angle XP'Y$ である。$\square$

フリップと角

lem-dlt-flip の状況で、新しい三角形 $acd,bcd$ の 6 つの内角の最小は、古い三角形 $abc,abd$ の 6 つの内角の最小より大きい。

新しい角を古い角と 1 つずつ比べる

要点:新しい 6 つの角のどれも、古い角のどれかより大きいことを、lem-dlt-inside と角の分割で示す。

詳しい証明を開く

$m$ は線分 $ab$ と $cd$ の両方の内部の点なので、四角形の各辺の直線(たとえば $ad$)について、残りの 2 頂点($b,c$)は $m$ と同じ側にある。lem-dlt-flip の 4 から $c$ は $abd$ の外接円の内部にあり、仮定から $d$ は $abc$ の外接円の内部にある。

  • $\angle acd>\angle abd$:弦 $ad$、$c$ は $abd$ の外接円の内部で $b$ と同じ側。
  • $\angle adc>\angle abc$:弦 $ac$、$d$ は $abc$ の外接円の内部で $b$ と同じ側。
  • $\angle bcd>\angle bad$:弦 $bd$、$c$ は $abd$ の外接円の内部で $a$ と同じ側。
  • $\angle bdc>\angle bac$:弦 $bc$、$d$ は $abc$ の外接円の内部で $a$ と同じ側。
  • $\angle cad=\angle cab+\angle bad>\angle cab$、$\angle cbd=\angle cba+\angle abd>\angle cba$:半直線 $ab$($=am$)は角 $cad$ の内部にあり、半直線 $ba$ は角 $cbd$ の内部にある。

はじめの 4 つは lem-dlt-inside による。新しい 6 つの角はどれも古い角のどれかより大きいので、新しい角の最小は古い角の最小より大きい。$\square$

最小の角の最大化

$S\subset\mathbb{R}^2$ を、1 本の直線の上に含まれない有限集合とする。

  1. $S$ の Delaunay 三角形分割 $D$ で、$S$ のすべての三角形分割 $T$ について $\alpha(D)\ge\alpha(T)$ となるものがある。
  2. $S$ のどの 4 点も 1 つの円の上になければ、ただ 1 つの Delaunay 三角形分割 $D$ について、すべての $T$ で $\alpha(D)\ge\alpha(T)$ である。
フリップで最小角は下がらない

1 回のフリップで変わるのは $abc,abd$ の 6 つの角だけで、lem-dlt-flip-angle によりその最小は大きくなる。三角形分割全体の最小の角は「変わらない角の最小」と「その 6 つの最小」の小さい方なので、フリップで $\alpha$ は減らない。thm-dlt-main の 1 により、任意の $T$ からフリップをくり返すと Delaunay 三角形分割 $D_T$ に着き、$\alpha(D_T)\ge\alpha(T)$ である。
三角形分割は有限個なので、$\alpha$ を最大にする $T^\ast$ がある。$D:=D_{T^\ast}$ とすると、$\alpha(D)\ge\alpha(T^\ast)\ge\alpha(T)$ がすべての $T$ で成り立ち、1 を得る。2 の仮定のもとでは thm-dlt-main の 2 により Delaunay 三角形分割は 1 つしかないので、それが 1 の $D$ である。$\square$

反例:最大の角は最小にならない

$S=\{O(0,0),P(0,1),Q(1,2),U(6,0)\}$ とする(4 点は凸四角形 $OUQP$ の頂点で、1 つの円の上にない)。対角線 $OQ$ で分けた $\{OPQ,OUQ\}$ が Delaunay 三角形分割である($U$ は三角形 $OPQ$ の外接円の外部にある)。三角形 $OPQ$ の $P$ での角は、$\overrightarrow{PO}=(0,-1)$ と $\overrightarrow{PQ}=(1,1)$ のなす角で $135^\circ$ である。もう一方の対角線 $PU$ で分けた $\{OUP,PUQ\}$ では、最大の角は $\angle UOP=90^\circ$ と三角形 $PUQ$ の $Q$ での角(約 $113.2^\circ$)で、$135^\circ$ より小さい。Delaunay 三角形分割は最小の角を最大にするが、最大の角を最小にするとは限らない。

外す条件反例成り立たなくなること
どの 4 点も 1 つの円の上にない正方形の 4 頂点Delaunay 三角形分割の一意性(thm-dlt-main の 2)
$S$ が 1 本の直線の上に含まれない一直線上の 3 点 $(0,0),(1,0),(2,0)$三角形分割の存在(三角形が作れない)
$d$ が三角形 $abc$ の外接円の内部にある(lem-dlt-flip-angle)ex-dlt-four の $\{ABD,BCD\}$ で辺 $BD$ を取り替える取り替えで最小の角が大きくなること($36.87^\circ$ から $30.96^\circ$ に下がる)

三角形と辺の個数

三角形と辺の個数

$\lvert S\rvert=n$ とし、$S$ のうち $\operatorname{conv}S$ の境界にある点の個数を $h$ とする。$S$ のどの三角形分割も、三角形をちょうど $2n-h-2$ 個、辺をちょうど $3n-h-3$ 本もつ。

角の和を 2 通りに数える

要点:すべての三角形の内角の和を、三角形ごとと頂点ごとの 2 通りに数える。

詳しい証明を開く

三角形の個数を $F$ とすると、内角の和は $\pi F$ である。頂点ごとに数えると、$\operatorname{conv}S$ の内部の点のまわりでは角が全周を覆って $2\pi$、境界の点で凸多角形の角の点でないものでは $\pi$、角の点では多角形の内角になる。角の点が $k$ 個なら多角形の内角の和は $(k-2)\pi$ なので、$\pi F=2\pi(n-h)+\pi(h-k)+(k-2)\pi$、すなわち $F=2n-h-2$ である。境界は $S$ の境界の点で $h$ 本の辺に分かれ(条件 1 により境界の点はどれも頂点)、それらの辺は 1 つの三角形にだけ属し、内部の辺は 2 つの三角形に属する(lem-dlt-edge)。よって辺の本数 $E$ は $3F=2E-h$ を満たし、$E=3n-h-3$ である。$\square$

とくに Delaunay 三角形分割の三角形は $2n-5$ 個以下($h\ge3$)である。

Voronoi 図との関係と応用

$S$ の点を母点とする Voronoi 図(三角形の外心 の定義「点の集まりの Voronoi 領域」、Voronoi図)を考える。三角形の外心 の命題「空の円の性質」により、三角形 $abc$ が空の円をもつことは、その外心が $a,b,c$ の 3 つの Voronoi 領域すべてに属することと同値である。4 点が 1 つの円の上にないときは、3 つ以上の領域に属する点(Voronoi 図の頂点)はちょうど 3 つの領域に属し、thm-dlt-main の 2 から、Voronoi 図の頂点と Delaunay 三角形の外心は 1 対 1 に対応する(異なる 2 つの空の円が同じ中心をもてば、半径も等しくなり、4 点以上が同じ円の上に来る)。
Delaunay 三角形分割は、細長い三角形を避けたい場面(地形の標高データから曲面を作る、有限要素法の網目を作る)で使われる。$n$ 点の Delaunay 三角形分割は $O(n\log n)$ 時間で計算でき、Euclid 距離の最小全域木の辺はすべて Delaunay 三角形分割の辺である(For17 表 27.2.1、§27.4「Subgraph relationships」。この記事では証明しない)。3 次元以上でも、外接球の内部に点がない単体で凸包を分けたものを Delaunay 分割といい、lem-dlt-lift と同じ持ち上げが使える(For17 §27.1、四面体の外接球と内接球)。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する