polyhedron.jpg


正多面体

 各面が、同一の正多角形で構成される正多面体は、正四面体、正六面体、正八面体、正十二面体、正二十面体、の5種類しか存在しないそうです。今回は、5種類の正多面体を1つ1つ作ってみます。
 と、振り返ってみると、「サッカーボール」を作った時に、その途中経過として正二十面体は作ったことがありましたので、残りの4種類を作ります。どうやら、その4種類は立方体から切り出すことができるようなので、その視点に立って作ってみます。

正四面体

 正四面体は全ての面が同じ大きさの正三角形で、面の数は4枚です。例によって作図が面倒なので、順番が逆ですがレイトレーシングした図で説明します。以下図の様に、立方体の頂点(の一部)と正四面体の頂点が重なります。

tetrahedron.png

 立方体の上面の対角線a−bと、下面の対角線c−dが正四面体の頂点になります。図の通り、a−bとc−dは90°ねじれた関係にあります。
 a〜dの座標を求め、「ラウンドブリリアントカットを削り出す」で作った、「指定した三点を含む平面」を定義する手続きpla3pに渡して平面を4枚定義すれば終了です。「ラウンドブリリアントカットを削り出す」で解説した通り、手続きpla3pに渡す座標の順番は重要で、その順が反時計回りに見える側が平面の外側、になります。上図で言うと、a→b→c、a→c→d、a→d→b、b→d→cの順で渡す必要がありますので、注意してください。

正六面体

 正六面体は全ての面が正四角形(正方形)で、面の数は6枚です。正六面体は立方体その物、なので、特に解説することはありません。6枚の平面を組み合わせて作成します。

正八面体

 正八面体は全ての面が正三角形で、面の数は8枚です。下図の様に、立方体の各面の中心を頂点とする立体です。

octahedron.png

 正四面体の時と同様に、頂点に振った記号に従って、反時計回りに見える側が外側になるように8つの面を定義すれば終了です。

正十二面体

 正十二面体は全ての面が正五角形で、面の数は12枚です。真横から見ると、下図の様な形をしています。

dodecahedron.png

 隣り合う正五角形同志のなす角度(二面角、図のθに相当)は、θ=acos (−1÷√5)だそうです。どうやって計算するのかは知りませんが……(1^^;)。θ+2×η=180°なので、ηが求まります。すると、正十二面体が外接する立方体と接する部分の長さHが求まります。H=LC×(1−tan (η))です(LCは立方体の一辺の長さの1/2)。
 この図は真横、x軸正方向から見た図ですので、求めたHを使って平面を定義し、橙色に着色した四隅の三角柱部分をバッサリ切り取ります。実は、正十二面体はy軸、z軸方向から見た場合も、同じ様な図形に見える特徴を持っていますので、同様に橙色の部分を切り取ってやると、終了です。

正二十面体

 正二十面体は全ての面が正三角形で、面の数は20枚です。このデータは、「サッカーボール」を作った時、その製作過程で作成済みです。
 今回取り上げた4種類の正多面体は立方体の内部に作り上げましたが、「サッカーボール」の時は、展開図を折り曲げながら作ったので、球面に外接する正二十面体でした。おかげで、ちょっと大きさの感覚が異なっていますが、拡大・縮小(相似変換、sim命令)を使って合わせ込めば良いことですので、そのままで良いでしょう。


完成動画

 完成したデータと動画です。

Xi-TRACEデータ 正四面体(regular tetrahedron) tetrahedron.xitr
Xi-TRACEデータ 正六面体(regular hexahedron) hexahedron.xitr
Xi-TRACEデータ 正八面体(regular octahedron) octahedron.xitr
Xi-TRACEデータ 正十二面体(regular dodecahedron) dodecahedron.xitr
Xi-TRACEデータ 正二十面体(regular icosahedron) icosahedron.xitr
Xi-TRACEデータ 勢ぞろい(regular polyhedron) polyhedron.xitr

 最後のpolyhedron.xitrで、5種類すべての正多面体を勢ぞろいさせて動かしてみました。



 外接する立方体の大きさを一定にしてしまうと、それぞれの見た目の大きさがだいぶ違って見えるので、適切に大きさを調整してあります。


home

download

gallery