§C3.9ピックの定理

最終更新

本記事は、頂点がすべて格子点であり、辺が互いに交わらず、穴を持たない多角形の面積が、内部の格子点の個数と境界上の格子点の個数だけで定まる、という主張を示します。辺の長さも角の大きさも測らず、格子点を数えるだけで面積が決まる点が、この定理の内容です。三つの仮定のうち、後の二つはどちらも外すことができません。仮定を外すと主張が偽になることを、反例によって先に確かめます。

証明に用いる道具は、集合と論理で扱う数学的帰納法と、図形と方程式で扱う座標平面における三角形の面積の公式です。整数についての道具のうち、本記事が用いるのは整数の四則計算だけです。本記事は、これらを導入し直さずに用います。

1 格子点と格子多角形を定める

定義 1.1 (格子点). 座標平面上の点のうち、xx座標とyy座標がどちらも整数であるものを格子点という。

多角形の側にも、はっきりした約束が必要です。ピックの定理は、辺が互いに交わる図形や、穴のある図形については成り立ちません。そこで、扱う対象を次のように限ります。

定義 1.2 (格子多角形). 頂点P1,P2,…,PnP_1, P_2, \dots, P_n(n≥3n \ge 3)を順に結んでP1P_1へ戻る閉じた折れ線が、次の二つを満たすとする。

  1. 隣り合う二辺は、共有する端点だけを共有する。
  2. 隣り合わない二辺は、共有点を持たない。

このような閉じた折れ線を単純閉折れ線という。単純閉折れ線が囲む有界な部分を、その境界も含めて多角形という。頂点P1,…,PnP_1, \dots, P_nがすべて格子点であるとき、これを格子多角形という。

格子多角形PPに対し、PPの内部にある格子点の個数をI(P)I(P)、境界上にある格子点の個数をB(P)B(P)、PPの面積をS(P)S(P)と書く。

条件 2 が「辺が互いに交わらない」に、単純閉折れ線が一つだけであることが「穴を持たない」に対応します。二つ以上の閉じた折れ線で囲まれる、内側がくり抜かれた図形は、この定義の対象ではありません。

証明では、次の二つの事実を用います。本記事はこれらを証明しません。

注意 1.3 (前提として用いる平面の性質). 単純閉折れ線は平面を、有界な部分(内部)と非有界な部分(外部)の二つに分ける。また、内部の点と外部の点を結ぶどの折れ線も、この単純閉折れ線と交わる。言い換えると、単純閉折れ線と交わらない連結な図形は、内部に完全に含まれるか、外部に完全に含まれるかのいずれかである。

2 格子点を数えて面積と比べる

具体的な格子多角形で、面積と格子点の個数の関係を見ます。

例 2.1 (格子点の個数から面積を求める). 上の格子多角形について、境界上の格子点は

(0,0), (1,0), (2,0), (3,0), (4,0), (4,1), (4,2), (2,3), (0,2), (0,1)(0,0),\ (1,0),\ (2,0),\ (3,0),\ (4,0),\ (4,1),\ (4,2),\ (2,3),\ (0,2),\ (0,1)

の1010個であり、内部の格子点は

(1,1), (2,1), (3,1), (1,2), (2,2), (3,2)(1,1),\ (2,1),\ (3,1),\ (1,2),\ (2,2),\ (3,2)

の66個である。したがってI=6I = 6、B=10B = 10であり、

I+B2−1=6+5−1=10I + \frac{B}{2} - 1 = 6 + 5 - 1 = 10

となる。一方、この多角形の面積は、底辺が44、高さが22の長方形の面積88と、三角形(0,2),(4,2),(2,3)(0,2), (4,2), (2,3)の面積4×1÷2=24 \times 1 \div 2 = 2の和で1010である。二つは一致する。

3 二つの仮定は、どちらも外すことができない

定義 1.2の条件 2 と、閉じた折れ線が一つだけであるという条件は、どちらも主張の真偽を変えます。それぞれについて、外すと等式が成り立たない例を挙げます。

例 3.1 (辺が交わる場合).A=(0,0)A = (0,0)、B=(2,0)B = (2,0)、C=(0,1)C = (0,1)、D=(2,1)D = (2,1)をこの順に結んでAAへ戻る閉じた折れ線を考える。辺BCBCと辺DADAは点(1,1/2)(1, 1/2)で交わるので、定義 1.2の条件 2 を満たさない。

囲まれる部分は、三角形A,B,(1,1/2)A, B, (1, 1/2)と三角形C,D,(1,1/2)C, D, (1, 1/2)の二つであり、どちらも底辺22、高さ1/21/2なので、面積の和は1/2+1/2=11/2 + 1/2 = 1である。

折れ線上の格子点は(0,0),(1,0),(2,0),(0,1),(1,1),(2,1)(0,0), (1,0), (2,0), (0,1), (1,1), (2,1)の66個であり、二つの三角形の内部に格子点は無い。I=0I = 0、B=6B = 6とすると

I+B2−1=0+3−1=2I + \frac{B}{2} - 1 = 0 + 3 - 1 = 2

となり、面積11と一致しない。

例 3.2 (穴がある場合). 頂点(0,0),(4,0),(4,4),(0,4)(0,0), (4,0), (4,4), (0,4)の正方形から、頂点(1,1),(3,1),(3,3),(1,3)(1,1), (3,1), (3,3), (1,3)の正方形の内部を取り除いた図形を考える。この図形の境界は二つの閉じた折れ線からなるので、定義 1.2の多角形ではない。

面積は16−4=1216 - 4 = 12である。境界上の格子点は、外側の正方形の周上に1616個、内側の正方形の周上に88個あり、合わせて2424個である。内部の格子点は、外側の正方形の内部にある99個の格子点(x,y)(x, y)(x,y∈{1,2,3}x, y \in \{1, 2, 3\})がすべて内側の正方形に属してしまうので、00個である。I=0I = 0、B=24B = 24とすると

I+B2−1=0+12−1=11I + \frac{B}{2} - 1 = 0 + 12 - 1 = 11

となり、面積1212と一致しない。

4 定理の主張

定理 4.1 (ピックの定理). 格子多角形PPについて

S(P)=I(P)+B(P)2−1S(P) = I(P) + \frac{B(P)}{2} - 1

が成り立つ。

証明は四段に分かれます。第一段では、格子多角形を、頂点がもとの多角形の頂点である三角形へ分けることができることを示します。第二段では、公式が分割について加法的であることを示します。第三段では、三角形の場合を証明します。第四段では、分割してできる三角形の個数についての帰納法によって、一般の格子多角形へ広げます。

5 第一段:三角形へ分ける

定理 5.1 (内部を通る対角線の存在). 頂点の個数が44以上である多角形には、隣り合わない二つの頂点を結び、両端以外が多角形の内部にある線分が存在する。

証明.xx座標が最小である頂点のうち、yy座標が最小であるものをAAとし、AAの両隣の頂点をBB、CCとします。AAの取り方から、BBとCCはどちらもAAより右にあるか、AAと同じxx座標でAAより上にあります。したがってAAにおける内角は00より大きく180∘180^\circより小さく、AAの近くでは多角形の内部が角BACBACの内側にあります。とくにAA、BB、CCは同一直線上にありません。

場合 1:三角形ABCABCに、AA、BB、CC以外の多角形の頂点が無い場合。このとき線分BCBCが求める線分です。実際、BCBCの両端以外の点と共有点を持つ辺eeがあるとします。eeの両端は多角形の頂点であり、仮定によって三角形ABCABCの中にはAA、BB、CCしかありません。eeはAAを端点に持ちません(AAを端点とする辺はABABとACACの二つであり、どちらもBCBCとは端点だけを共有します)。eeがBBを端点に持つ場合、eeはBBから出る線分なので、直線BCBC上に無いかぎりBCBCとはBBだけを共有し、直線BCBC上にあれば三角形の内部へ入りません。CCについても同様です。残るのは、eeの両端が三角形の外にある場合です。このときeeは三角形の境界を二度横切ります。辺ABABと辺ACACは多角形の辺であり、eeはそれらと隣り合わないので共有点を持ちません。よってeeは線分BCBCを二度横切ることになりますが、線分が直線BCBCと二点以上を共有するのはeeが直線BCBC上にある場合に限られ、そのときは三角形の内部へ入りません。いずれの場合も矛盾です。

場合 2:三角形ABCABCに、AA、BB、CC以外の多角形の頂点がある場合。そのような頂点のうち、直線BCBCからの距離が最大であるものをPPとします(複数あればどれでもよい)。線分APAPが求める線分です。

PPを通りBCBCに平行な直線をℓ\ellとし、三角形ABCABCのうち、直線BCBCからの距離がPPより真に大きい部分をTTと書きます。AAは三角形の頂点のうちBCBCから最も遠いのでA∈TA \in Tであり、線分APAP上の点はAAからPPへ向かってBCBCからの距離が単調に減るので、PPを除くAPAP上のすべての点はTTに属します。PPの取り方から、TTにはAA以外の多角形の頂点がありません。

APAPの両端以外の点と共有点を持つ辺eeがあるとします。その共有点はTTの中にあります。eeはAAを端点に持ちません(AAを端点とする辺はABABとACACであり、PPはこれらの上にありません。多角形が単純であるから、頂点が他の辺の内部に乗ることはないからです)。eeの両端はTTに属さないので、eeはTTの境界を二度横切ります。TTの境界は、辺ABABの一部、辺ACACの一部、および直線ℓ\ellの一部からなります。eeは多角形の辺ABAB、ACACと共有点を持たないので、二度ともℓ\ellを横切ることになります。しかし線分が直線ℓ\ellと二点以上を共有するのはeeがℓ\ell上にある場合に限られ、そのときはeeがTTに入りません。矛盾です。

いずれの場合も、得られた線分は両端以外で多角形の境界と共有点を持ちません。注意 1.3により、この線分の両端以外の部分は多角形の内部か外部のいずれか一方に完全に含まれます。AAの近くでは内部が角BACBACの内側にあるので、含まれるのは内部です。▨

定理 5.2 (三角形分割の存在). 頂点の個数がnnである格子多角形は、両端以外が内部にある対角線によって、頂点がもとの多角形の頂点であるn−2n - 2個の格子三角形へ分けることができる。

証明.nnについての強い帰納法で示します。n=3n = 3のとき、多角形自身が1=3−21 = 3 - 2個の三角形です。

n≥4n \ge 4とします。定理 5.1により、両端以外が内部にある対角線ddがあります。ddは多角形を二つの多角形へ分け、それぞれの頂点はもとの多角形の頂点かddの端点なので、すべて格子点です。二つの多角形の頂点の個数をn1n_1、n2n_2とすると、ddの両端はどちらの多角形の頂点にもなるのでn1+n2=n+2n_1 + n_2 = n + 2であり、3≤n1,n2<n3 \le n_1, n_2 < nです。帰納法の仮定により、それぞれn1−2n_1 - 2個とn2−2n_2 - 2個の三角形へ分かれ、合わせて(n1−2)+(n2−2)=n−2(n_1 - 2) + (n_2 - 2) = n - 2個です。▨

6 第二段:公式は分割について加法的である

定理 6.1 (分割に対する加法性). 格子多角形PPを、両端がPPの境界上の格子点であり、両端以外がPPの内部にあり、頂点がすべて格子点である折れ線によって、二つの格子多角形P1P_1、P2P_2へ分けたとする。P1P_1とP2P_2について定理 4.1の等式が成り立つならば、PPについても成り立つ。

証明. 分ける折れ線の上にある格子点の個数をkkとします。両端が含まれるのでk≥2k \ge 2です。

面積についてはS(P)=S(P1)+S(P2)S(P) = S(P_1) + S(P_2)です。

内部の格子点を数えます。PPの内部の格子点は、P1P_1の内部の格子点、P2P_2の内部の格子点、および折れ線の両端以外の格子点に分かれます。最後のものはk−2k - 2個なので

I(P)=I(P1)+I(P2)+(k−2)I(P) = I(P_1) + I(P_2) + (k - 2)

です。

境界上の格子点を数えます。B(P1)B(P_1)とB(P2)B(P_2)は、どちらも折れ線上のkk個の格子点を数えています。このkk個のうち、両端の22個はPPの境界上にあるのでB(P)B(P)で一度だけ数え、残りのk−2k - 2個はPPの内部にあるのでB(P)B(P)では数えません。それ以外の格子点はB(P1)B(P_1)とB(P2)B(P_2)のどちらか一方だけに現れ、B(P)B(P)にも現れます。よって

B(P)=(B(P1)−k)+(B(P2)−k)+2=B(P1)+B(P2)−2k+2B(P) = \bigl(B(P_1) - k\bigr) + \bigl(B(P_2) - k\bigr) + 2 = B(P_1) + B(P_2) - 2k + 2

です。以上を合わせると

I(P)+B(P)2−1=I(P1)+I(P2)+k−2+B(P1)+B(P2)2−k+1−1=(I(P1)+B(P1)2−1)+(I(P2)+B(P2)2−1)=S(P1)+S(P2)=S(P)\begin{aligned} I(P) + \frac{B(P)}{2} - 1 &= I(P_1) + I(P_2) + k - 2 + \frac{B(P_1) + B(P_2)}{2} - k + 1 - 1 \\ &= \left( I(P_1) + \frac{B(P_1)}{2} - 1 \right) + \left( I(P_2) + \frac{B(P_2)}{2} - 1 \right) \\ &= S(P_1) + S(P_2) = S(P) \end{aligned}

となります。▨

7 第三段:三角形の場合

三角形の中でも、格子点を最小限しか含まないものが基本になります。

定義 7.1 (基本三角形). 頂点が格子点である三角形のうち、三つの頂点以外に格子点を含まない(内部にも辺上にも無い)ものを基本三角形という。

定理 7.2 (基本三角形の面積). 基本三角形の面積は1/21/2である。

証明. 格子全体は格子点だけの平行移動で保たれるので、一つの頂点が原点OOにあるとしてよいことになります。他の二頂点をP=(a,b)P = (a, b)、Q=(c,d)Q = (c, d)とし、D=ad−bcD = ad - bcとおきます。三角形の面積は∣D∣/2\lvert D \rvert / 2なので、∣D∣=1\lvert D \rvert = 1を示せば足ります。三点が同一直線上に無いのでD≠0D \ne 0です。

OO、PP、P+QP + Q、QQを頂点とする平行四辺形をΠ\Piとします。写像v↦P+Q−vv \mapsto P + Q - vは格子点を格子点へ移し、三角形OPQOPQを三角形(P+Q) Q P(P+Q)\,Q\,Pへ移すので、後者も三つの頂点以外に格子点を含みません。Π\Piはこの二つの三角形の合併であるから、Π\Piに含まれる格子点は四つの頂点だけです。

PPとQQは一次独立なので、どの格子点vvも実数α\alpha、β\betaによってv=αP+βQv = \alpha P + \beta Qと書くことができます。α\alpha、β\betaの小数部分を{α}\{\alpha\}、{β}\{\beta\}と書き、w={α}P+{β}Qw = \{\alpha\} P + \{\beta\} Qとおくと、w=v−⌊α⌋P−⌊β⌋Qw = v - \lfloor \alpha \rfloor P - \lfloor \beta \rfloor Qであるからwwは格子点であり、0≤{α},{β}<10 \le \{\alpha\}, \{\beta\} < 1であるからwwはΠ\Piに含まれます。Π\Piの格子点は四つの頂点だけであり、そのうち{α},{β}<1\{\alpha\}, \{\beta\} < 1を満たすのはOOだけなのでw=Ow = O、すなわちα\alphaとβ\betaは整数です。

とくに(1,0)(1, 0)と(0,1)(0, 1)について、整数α,β,γ,δ\alpha, \beta, \gamma, \deltaで

(1,0)=αP+βQ,(0,1)=γP+δQ(1, 0) = \alpha P + \beta Q, \qquad (0, 1) = \gamma P + \delta Q

を満たすものがあります。第一の式を成分で書くとαa+βc=1\alpha a + \beta c = 1、αb+βd=0\alpha b + \beta d = 0です。前者にddを、後者にccを掛けて引くとαD=d\alpha D = dを得ます。同じように、前者にbbを、後者にaaを掛けて引くとβD=−b\beta D = -bを得ます。第二の式からも同様にγD=−c\gamma D = -c、δD=a\delta D = aを得ます。これらをD=ad−bcD = ad - bcへ代入すると

D=(δD)(αD)−(−βD)(−γD)=D2(αδ−βγ)D = (\delta D)(\alpha D) - (-\beta D)(-\gamma D) = D^2 (\alpha \delta - \beta \gamma)

であり、D≠0D \ne 0で割ると1=D(αδ−βγ)1 = D(\alpha\delta - \beta\gamma)です。DDとαδ−βγ\alpha\delta - \beta\gammaはどちらも整数なので∣D∣=1\lvert D \rvert = 1です。▨

定理 7.3 (三角形についてのピックの定理). 頂点が格子点である三角形TTについて、S(T)=I(T)+B(T)/2−1S(T) = I(T) + B(T)/2 - 1が成り立つ。

証明.TTが含む格子点(内部と境界を合わせたもの)の個数についての強い帰納法で示します。

TTが三つの頂点以外に格子点を含まない場合、TTは基本三角形であり、I(T)=0I(T) = 0、B(T)=3B(T) = 3、S(T)=1/2S(T) = 1/2(定理 7.2)です。このときI(T)+B(T)/2−1=0+3/2−1=1/2I(T) + B(T)/2 - 1 = 0 + 3/2 - 1 = 1/2となって一致します。

T=ABCT = ABCが三つの頂点以外の格子点DDを含む場合を考えます。

DDが辺の上(頂点でない位置)にある場合、その辺をABABとしてよいことになります。線分CDCDは両端以外がTTの内部にあり、両端は格子点なので、定理 6.1を適用することができます。TTは三角形ACDACDと三角形DBCDBCへ分かれ、前者はBBを、後者はAAを含まないので、どちらもTTより少ない個数の格子点しか含みません。帰納法の仮定と定理 6.1から、TTについて等式が成り立ちます。

DDがTTの内部にある場合、CCからDDを経てAAへ至る折れ線によってTTを三角形ACDACDと四角形ABCDABCDへ分けます。次に、四角形ABCDABCDを対角線BDBDによって三角形ABDABDと三角形BCDBCDへ分けます。三角形ACDACDはBBを、ABDABDはCCを、BCDBCDはAAを含まないので、いずれもTTより少ない個数の格子点しか含みません。帰納法の仮定により三つの三角形について等式が成り立つので、定理 6.1を四角形ABCDABCDへ一度、TTへもう一度適用すると、TTについて等式が成り立ちます。▨

8 第四段:一般の格子多角形へ広げる

証明 (ピックの定理の証明).定理 5.2により、格子多角形PPを、頂点がPPの頂点であるNN個の格子三角形へ分けることができます。このNNについての強い帰納法で示します。

N=1N = 1のとき、PPは三角形であり、定理 7.3が主張を与えます。

N≥2N \ge 2のとき、分割に用いた対角線を一つ取ると、PPは二つの格子多角形P1P_1、P2P_2へ分かれ、もとの分割の三角形はそれぞれどちらか一方に属します。その個数をN1N_1、N2N_2とするとN1+N2=NN_1 + N_2 = Nであり、どちらも11以上NN未満です。帰納法の仮定によりP1P_1とP2P_2について等式が成り立つので、定理 6.1によりPPについても成り立ちます。▨

前提記事