正五角形に付随する角度と黄金比の関係

前回の記事『正角錐の二面角の公式』では、「初等幾何と2次方程式を駆使して、正五角形にまつわる諸量が黄金比 {\phi=\frac{1+\sqrt{5}}{2}} と関連付けられる事」について触れないで話を進める予定だったがそもそも星形大正十二面体まで話が及ばなかったので取り消し線を入れておいた。

この辺の話題は既知として星形大正十二面体の話に進んでも良いのだが、どうやって{\mathrm{cos}(36^\circ)=\mathrm{cos}(\pi/5)}を正確な値として出すかというあたりもそれなりに面白い。この記事ではそのへんのことを丁寧に説明することにする。

さて、多角形の対角線(diagonal)とは、任意の異なる二頂点を結ぶ線分だが、この二頂点が隣接していると辺に一致してしまうので一般には「隣接しない異なる二頂点を結ぶ線分」という風に定義する。対角線と辺をキチンと分けておきたいというのは素朴な気持ちなのだろうが「二頂点が隣接していても良い」としたほうが議論は楽になる場合が多いように思う。必要に応じて、議論の後で対角線と辺が一致する場合を排除すればよい。用語の定義を巡る混乱を避けるためには「広義の(辺を含む)対角線」「狭義の(辺を含まない)対角線」と呼び分ければよいだろう。以下では正五角形の対角線やその長さについて議論をするが、どうしても必要な場合を除いて広義か狭義かは断らない。図と文脈からどちらの意味かわかるはずだからである。

さて、正五角形の内部に対角線を引くと、呪術的な図形としても知られる五芒星が得られる(図1)。図1では、36°の箇所に「・」を、72°の箇所に「・・」を描きいれてある。36°である箇所について納得がいけば、三角形についての基本的な性質(外角定理)から、72°である箇所にも納得が行く。残る問題は、どうやったら図1の「・」の箇所がすべて36°であることを確認できるか、である。

図1:正五角形の対角線が形成する五芒星。関連する角度も図示している。

図1:正五角形の対角線が形成する五芒星。関連する角度も図示している。

やや問題があるが簡単な確認方法は円周角定理を使うものである。図2は、図1における「・」の箇所が36°であることを円周角定理で説明するためのものである。赤い円は正五角形の外接円である。正五角形の辺を弦とする弧は全て同じ長さであり、それらの円周角は等しい。正五角形の内角は108°であることが(簡単な計算で)わかるから、それぞれの角度は(108/3)°=36°であることがわかる。

図2:円周角の定理を使って五芒星内部の角度を説明するための図(その1)。

図2:円周角の定理を使って五芒星内部の角度を説明するための図。

上で「やや問題がある」と書いた。そう書いた理由は、図1における「・」の角度が36°であることを示すのにまるで円周角の定理が必要であるかのような印象を与えかねないからである。これらの角度が36°になることは、図3、図4を使って考えれば理解できる。

図3:図中に黄緑色で示した二等辺三角形の頂角が36°であることを証明するための補助線。

図3:黄緑色の二等辺三角形の頂角が36°であることを証明するための補助線。

図4:図中に黄緑色で示した二等辺三角形の底角が36°であることを証明するための補助線。

図4:黄緑色の二等辺三角形の底角が36°であることを証明するための補助線。

さて、図3のなかに黄緑色に塗った二等辺三角形の各辺の長さの比を求めてみよう。正五角形の一辺の長さを{1}とし、対角線の長さを{\phi}とする。すると、先ほど求めた五芒星の中の角度の情報から、この二等辺三角形と相似な三角形が、今度は長辺を寝かせて横たわっていることがわかる(図5)。「横になった」方の三角形の短辺の長さは{\phi-1}と計算できるが、相似性から{1/\phi}であることもわかる。したがって次の方程式が立つ:

{1/\phi = \phi - 1.}

両辺に{\phi}をかけて2次方程式にすると、解の公式から簡単に{\phi = \frac{1\pm \sqrt{5}}{2}}と求まるが、もちろん正の解{\frac{1+ \sqrt{5}}{2}}が我々の求めるものである。

図5:正五角形の内部に現れる黄金比を計算するための相似三角形の例。

図5:正五角形の内部に現れる黄金比を計算するための相似三角形の例。

この{\frac{1+ \sqrt{5}}{2}}黄金比と呼ばれている。なにか神秘的な性質を持つ数字だと期待する人たちもいるらしい。実際、フィボナッチ数列に関連してこの黄金比が登場するし、数学の色々なところにひょっこりと顔を出すことが知られているので、まったくつまらない数字というわけでもないのだが。

さて、ここまでの議論で正五角形に関連して、36°の頂角を持つ二等辺三角形が得られた。余弦定理を使えばこの頂角の余弦を、黄金比を用いて表すことができる。すなわち、{\mathrm{cos}(\pi/5)}を黄金比の有理式で表せる。もちろん、三角関数の加法公式を用いれば{\pi/5}の整数倍の角に対する余弦を求めるのは容易である。

広告

正角錐の二面角の公式

■ 正角錐の定義とその二面角を考える意味

正角錐とは、正多角形を底面とする角錐であって、その頂点の鉛直線が底面の中心を通るようなものである。

一般に、正多面体や、クリスマスの飾りとしてよく使われる星形大正十二面体のような立体の頂点付近は正角錐であるとみなせる。催し物などの飾り付けなどのために、これらの立体を大きめに作ることを考えてみよう。この場合、隣接する二面を構成する板材同士が正しい角度に配置されるようにするためにジグで裏張りして補強する必要があるかもしれない。このようなジグ自体の形をどのようにするかというのも実際の工作においては工夫を要するポイントになる。角度を保証するという用をなせばどのように作っても良いのだが、文章だけではよくわからない人のために一例を挙げておく。ピンク色の部分がジグである。

二面のなす角度を保証するためのジグの例図

二面のなす角度を保証するためのジグの例

上の図はあくまでも一例であり、素材の加工性やサイズの制約に応じて色々工夫する必要がある。さて、このようなジグを正確につくるためには、隣接する二面のなす角度を知っておく必要がある。

この記事では、与えられた正角錐の二面角を求める公式を作り、いくつかのケースで検証する。具体的には、角錐の先端において角度θがN個集まっているような正角錐の二面角を求める公式を作る。話を正角錐に限ったのは、議論を簡略化したいからである。多少工夫すれば、正角錐以外の場合の二面角も求められるはずだと思うが、今は関心がないので試していない。(念のために言えば、正多面体や星形正多面体の親戚筋にあたる立体として準正多面体というものが知られており、これらの立体の頂点付近は正角錐ではない。したがって、本記事の公式は準正多面体を作成するためのジグを設計するためには使えない。)

■ Maximaによる正角錐の二面角の計算

以下では、初等幾何と2次方程式を駆使して、正五角形にまつわる諸量が黄金比 {\phi=\frac{1+\sqrt{5}}{2}} と関連付けられる事は既知とする。
また、立体幾何については、空間の座標をベクトルで表すこと、そして内積を通して二本のベクトルのなす角の余弦を求められる事を知っていることを前提とする。こういったことがらは、たとえば大学受験をするつもりの高校生ならばすでによく理解していると思う。

計算にはMaximaを使う。(余談:wxMaxima では結果の式を latex形式にして取得できたりして便利である。本記事でもMaximaの計算結果を latex形式で書くために利用している。)Maximaの基本的な使い方自体はこの記事では説明しない。各種オンラインチュートリアルを参照されたい。

まずは計算を進める上でのツールとなる関数を整備しよう。次の関数はベクトルの長さの自乗を求めるためのものである:

squared_veclen(v):= v.v;

次の関数は、位置ベクトルP,Q,Rがなす三角形における頂点Pの角度の余弦を求めるためのものである:

cosTriangleVert(P,Q,R):= (Q-P).(R-P) / (veclen(Q-P) * veclen(R-P));

余弦定理を知っていればこの式の意味は自明だと思う。

さて、上でも触れたように正角錐とは正多面体を底面とする角錐である。正N角形の頂点をxy平面上に取ることにする。次の関数 polyVert は、単位円に内接する正N角形のk番目の頂点を返す関数である。ただし、(1,0)を0番目の頂点とし、kが増えるごとに頂点を反時計回りにめぐるものとする。

polyVert(N,k):=[cos(2*k*%pi / N), sin(2*k*%pi / N), 0];

さて、いま我々は角錐の頂点に集まるおのおのの角がθであることを要求したいが、このときの角錐の高さは今はわかっていない。そこで、高さ{h}が未知であるとして頂点{X=X(h)}の座標を次のような関数としておく:

X(h):= [0, 0, h]

(上の式での[a,b,c] のような形式はMaximaでベクトルを表現するときに使われる書式である。)

さて、X(h) を頂点とする三角形であって残り二頂点が polyVert(N,0)と polyVert(N,1)であるようなものを考え、そのX(h)における角度の余弦を考えよう:

F1(h,N):= cosTriangleVert(X(h), polyVert(N,0), polyVert(N,1));

hに対する要請としては、このF1(h,N)が cos(θ)になって欲しいので、次のようにMaximaにhについての方程式を解かせれば良さそうに思える:

solve(F1(h,N) = cos(theta), h);

ところが、これに対するMaximaの出力は
{[h=-\sqrt{\sqrt{{h}^{2}+1}\,\mathrm{cos}\left( \theta\right) \,\sqrt{{\mathrm{sin}\left( \frac{2\,\pi }{N}\right) }^{2}+{\mathrm{cos}\left( \frac{2\,\pi }{N}\right) }^{2}+{h}^{2}}-\mathrm{cos}\left( \frac{2\,\pi }{N}\right) },h=\sqrt{\sqrt{{h}^{2}+1}\,\mathrm{cos}\left( \theta\right) \,\sqrt{{\mathrm{sin}\left( \frac{2\,\pi }{N}\right) }^{2}+{\mathrm{cos}\left( \frac{2\,\pi }{N}\right) }^{2}+{h}^{2}}-\mathrm{cos}\left( \frac{2\,\pi }{N}\right) }]}
となってしまい、全然hについて解けていない。F1(h,N) の形があるいは複雑過ぎたのかもしれないと思ってMaximaで

F1(h,N);

としてやると {\frac{\mathrm{cos}\left( \frac{2\,\pi }{N}\right) +{h}^{2}}{\sqrt{{h}^{2}+1}\,\sqrt{{\mathrm{sin}\left( \frac{2\,\pi }{N}\right) }^{2}+{\mathrm{cos}\left( \frac{2\,\pi }{N}\right) }^{2}+{h}^{2}}}} と返ってくる。sqrtが混じってるあたり、なんとなく解きづらそうな形ではある。もう少しF1(h,N)の形を簡単にできないだろうか?念のために trigrat を試してみよう:

trigrat(F1(h,N))

すると次のような答えが返ってくる:{\frac{\mathrm{cos}\left( \frac{2\,\pi }{N}\right) +{h}^{2}}{{h}^{2}+1}}

この形なら随分簡単なので、解けそうな雰囲気が出てきた。あらためて

F2(h,N) := trigrat( F1(h,N) );
solve( F2(h,N) = cos(theta), h);

としてやると次のようにhが解かれる:
{[h=-\sqrt{\frac{\mathrm{cos}\left( \frac{2\,\pi }{N}\right) }{\mathrm{cos}\left( \theta\right) -1}-\frac{\mathrm{cos}\left( \theta\right) }{\mathrm{cos}\left( \theta\right) -1}},h=\sqrt{\frac{\mathrm{cos}\left( \frac{2\,\pi }{N}\right) }{\mathrm{cos}\left( \theta\right) -1}-\frac{\mathrm{cos}\left( \theta\right) }{\mathrm{cos}\left( \theta\right) -1}}]}
hは角錐の高さなので、ここでは正の解を選び、H(N,θ)と呼ぶことにしよう:

H(N,theta):= sqrt(cos((2*%pi)/N)/(cos(theta)-1)-cos(theta)/(cos(theta)-1));

{\mathrm{H}\left( N,\theta\right) :=\sqrt{\frac{\mathrm{cos}\left( \frac{2\,\pi }{N}\right) }{\mathrm{cos}\left( \theta\right) -1}-\frac{\mathrm{cos}\left( \theta\right) }{\mathrm{cos}\left( \theta\right) -1}}}
そしていま定義したH(N,θ)を高さに持つ頂点を次のように定義する:

X0(N,theta):= [0, 0, H(N,theta)];

次に、点polyVert(N,0)と頂点X0(N,θ)を結ぶ直線へ、点polyVert(N,1)からおろした垂線の足をYとしたい。具体的な位置はわからないので、polyVert(N,0)とX0(N,θ)の内分点として定義しておき、あとでパラメータを決定することにする:

Y(N,theta,k):= k * X0(N,theta) + (1-k) * polyVert(N,0);

直交条件なので内積が消えるという条件でkについての方程式を立てて解かせれば良い:

solve( (polyVert(N,0) - Y(N,theta,k)).(polyVert(N,1) - Y(N,theta,k)) = 0, k);

すると次を得る: {[k=1-\mathrm{cos}\left( \theta\right) ,k=0]}
0は明らかに望んでいる解ではないから、求めている2番目のkが垂線の足を表すためのパラメータである。これを用いて垂線の足Y0 を次のように定義する:

Y0(N,theta):= Y(N, theta, 1-cos(theta));

さて、幾何学的な対称性から、Y0はまた点polyVert(N,0)と頂点X0(N,θ)を結ぶ直線へpolyVert(N,-1)からおろした垂線の足であるとも言える。従っていま求めようとしている二面角は、点polyVert(N,1)と Y0, polyVert(N,-1)によって作られる角になっている。うえのほうで用意しておいた式により、二面角の余弦は次のように計算できる:

cosTriangleVert( Y0(N,theta), polyVert(N,1), polyVert(N,-1));

これは {\frac{-{\mathrm{sin}\left( \frac{2\,\pi }{N}\right) }^{2}+{\left( \mathrm{cos}\left( \frac{2\,\pi }{N}\right) -\mathrm{cos}\left( \theta\right) \right) }^{2}+{\left( 1-\mathrm{cos}\left( \theta\right) \right) }^{2}\,\left( \frac{\mathrm{cos}\left( \frac{2\,\pi }{N}\right) }{\mathrm{cos}\left( \theta\right) -1}-\frac{\mathrm{cos}\left( \theta\right) }{\mathrm{cos}\left( \theta\right) -1}\right) }{{\mathrm{sin}\left( \frac{2\,\pi }{N}\right) }^{2}+{\left( \mathrm{cos}\left( \frac{2\,\pi }{N}\right) -\mathrm{cos}\left( \theta\right) \right) }^{2}+{\left( 1-\mathrm{cos}\left( \theta\right) \right) }^{2}\,\left( \frac{\mathrm{cos}\left( \frac{2\,\pi }{N}\right) }{\mathrm{cos}\left( \theta\right) -1}-\frac{\mathrm{cos}\left( \theta\right) }{\mathrm{cos}\left( \theta\right) -1}\right) }}
であることがわかるが、もう少し簡単にならないだろうかと考えて trigsimp をかけてみると:

trigsimp(%);

次の式を得る: {-\frac{2\,\mathrm{cos}\left( \frac{2\,\pi }{N}\right) -\mathrm{cos}\left( \theta\right) +1}{\mathrm{cos}\left( \theta\right) +1}}
(分子に現れる{1-\mathrm{cos}(\theta)}は常にであることに注意せよ)。

以上の計算結果を受けて次のような関数を定義しておこう:

cosOfRegularDihedralAngle(N,theta) := -(2*cos((2*%pi)/N)-cos(theta)+1)/(cos(theta)+1);

■ いつくかの場合における二面角公式の検証

あまり見かけない「公式」が得られたので、いくつかの場合に当てはめてみて、式を検証してみることにする。

  • 平面
    角度{2\pi / N }が頂点でN個集まっている場合、この正角錐は立体としては潰れてしまい平面になる。当然ながら二面角は180°となる。式の形からほぼ自明だが

    cosOfRegularDihedralAngle(N, 2*%pi/N);
    は -1 を返し、平面であることをうまく反映しているようである。
  • 立方体
    この場合は{N=3, \theta=\pi/2}であり、二面角は{\pi/2}なので、その余弦は{0}のはずである。実際に

    cosOfRegularDihedralAngle(3, %pi/2);

    を計算すると{0}が返ってくるので、この場合にも公式は正しい値を返している。

  • 正四面体
    この場合は{N=3, \theta=\pi/3}である。正四面体の二面角は、簡単な考察により、二辺の長さが{\frac{\sqrt{3}}{2}}、残る一辺の長さが{1}であるような二等辺三角形の頂角に等しい。この頂角の余弦を余弦定理で求めると1/3になる。我々の公式による計算

    cosOfRegularDihedralAngle(3, %pi/3);

    とこれは一致するので、この場合にも公式は正しい値を返している。

■ まとめ

N個の、頂角θの二等辺三角形を側面とする正角錐の、隣接する二側面の間の角度(二面角)を{\varphi}とすると、次の式が成立する:

{\mathrm{cos}(\varphi)=-\frac{2\,\mathrm{cos}\left( \frac{2\,\pi }{N}\right) -\mathrm{cos}\left( \theta\right) +1}{\mathrm{cos}\left( \theta\right) +1}}

■ 追記

  • 2014/11/27
  • 記事が長くなったため、当初予定していた星形大正十二面体にまで言及しないことにしました。これに伴い、黄金比に関する記述に取り消し線を入れました。

  • 2014/12/01
  • うっかり{1-\mathrm{cos}(\theta)}が常に負、と書いてしまった箇所を訂正しました。

  • 2015/05/11
  • 立方体の場合の公式の検証部分で数値が間違っていたので訂正しました。