|
Graphics`Polyhedra`
プラトンの立体とは,面と頂点がすべて同じタイプである凸多面体のことである.このような立体は5つある.この他にも面と頂点がすべて同じタイプであるが,非凸多面体であるものがある.このパッケージにはこれらの立体を描画するために必要なグラフィックスプリミティブが収められている.

正多面体の表示

多面体
パッケージをロードする.
In[1]:= <<Graphics`Polyhedra`
原点を中心とする12面体である.
In[2]:= Show[ Polyhedron[ Dodecahedron ]]

Out[2]= 
次は2つの多面体を同時に表示する.20面体の直径は0.7倍に縮小されており,中心は点{3, 3, 3}に移動されている.
In[3]:= Show[ Polyhedron[GreatStellatedDodecahedron], Polyhedron[Icosahedron, {3, 3, 3}, 0.7] ]

Out[3]= 

正多面体の変形関数
多面体はデフォルトでは原点を中心とし,原点から各辺の中点までが単位距離となる.凸状の立体は何でもStellateを用いて星状にすることができる.これを使うと多面体の各面がその面を底面とした角錐に置き換えられる.ユーザが星状化の割合を変えることもできる.この割合のデフォルト値は であるが, 未満の場合は凹状になる.Geodesateは五面以上の多面体を外接球に投影する前に三角形に分割する.各面のn 次の規則的なモザイク化が与えられていない場合,デフォルト値の が用いられる.球のデフォルト位置は 0,0,0 で半径は である.TruncateとOpenTruncateはあらゆる多面体に作用し,多面体の各頂点を切り取る.切り取る割合のデフォルト値は である.
次は,星状化の割合 で星状化された八面体である.各点までが非常に長くなっている.
In[4]:= Show[Stellate[Polyhedron[Octahedron], 4.0]]

Out[4]= 
次は外接円に投影される前に三角形に分割された多面体の例である.
In[5]:= Show[Geodesate[Polyhedron[Dodecahedron], 4]]

Out[5]= 
次は各側面の辺を40%切り取った多面体の例である.
In[6]:= Show[Truncate[ Polyhedron[Dodecahedron], .4]]

Out[6]= 
OpenTruncateを使うと切り取られた多面体の内側が見られる.
In[7]:= Show[OpenTruncate[ Polyhedron[Dodecahedron], .4]]

Out[7]= 
Polyhedronは多面体の名前に対応する多角形のリストをGraphics3Dオブジェクトに変換する.Firstを使うとGraphics3Dオブジェクトから多角形のリストを抽出することができる.また,VerticesとFacesはそれぞれ,頂点の座標および多面体の各面を構成している頂点を与える.

面と頂点のデータの取得
次は原点を中心とする四面体に対応する多角形のリストである.
In[8]:= First[ Polyhedron[ Tetrahedron ] ]
Out[8]= 
次は四面体の頂点である.
In[9]:= Vertices[ Tetrahedron ]
Out[9]= 
次はどの頂点がどの面に関連付けられているかを示す.例えば,2番目の面は最初,3番目,4番目の頂点を結んだ面である.
In[10]:= Faces[ Tetrahedron ]
Out[10]= 
正多角形の幾何学データは,実際には標準パッケージのGeometry`Polytopes`にある.そのパッケージの機能すべてがロードされ,使用できる.
|