バージョン12.0では,多面体操作パッケージの機能のすべてがWolframシステムに組み込まれている. »

多面体操作パッケージ

プラトンの立体とは,面と頂点がすべて同じタイプである凸多面体のことである.このような立体は5つある.この他にも面と頂点がすべて同じタイプであるが,非凸多面体であるものがある.このパッケージには,PolyhedronDataで利用できる多面体の特性のいくつかを変更するための機能が収められている.

TetrahedronCube
OctahedronDodecahedron
IcosahedronHexahedron
GreatDodecahedronSmallStellatedDodecahedron
GreatStellatedDodecahedronGreatIcosahedron

利用可能な多面体の例

パッケージをロードする.
原点を中心とする12面体である.
次は2つの多面体を同時に表示する.20面体の直径は0.15倍に縮小されており,中心は点{3,3,3}に移動されている.
Stellate[PolyhedronData[poly]]星状の多面体を表示
Stellate[PolyhedronData[poly,ratio]星状比が ratio の星状多面体を表示
Geodesate[PolyhedronData[poly],n]多面体の各面の次数 の正平面充填形を外接球に投影したものを表示する
Geodesate[PolyhedronData[poly],n,{x,y,z},radius]多面体の各面の次数 の正平面充填形を,中心で大きさ radius の外接球に投影したものを表示する
Truncate[PolyhedronData[poly]]面取りした多面体を表示する
Truncate[PolyhedronData[poly],ratio]多角形の辺を割合 ratio で面取りした多面体を表示する
OpenTruncate[PolyhedronData[poly]]面取りされた多面体を,面取りされた頂点を閉じる多角形を含まず表示する
OpenTruncate[PolyhedronData[poly],ratio]
辺を割合 ratio で切り取って面取りした多面体を,切り取った頂点を多角形で塞がずに表示する

多面体の変換関数

多面体はデフォルトでは原点を中心とし,原点から各辺の中点までが単位距離となる.凸状の立体は何でもStellateを用いて星状にすることができる.これを使うと多面体の各面がその面を底面とした角錐に置き換えられる.ユーザが星状化の割合を変えることもできる.この割合が未満の場合は凹状になり,デフォルトの割合はである.Geodesateは五面以上の多面体を外接球に投影する前に三角形に分割する.各面の 次の正平面充填形が与えられていない場合,デフォルト値のが用いられる.球のデフォルト位置はで半径はである.TruncateOpenTruncateはあらゆる多面体に作用し,多面体の各頂点を切り取る.切り取る割合のデフォルト値はである.

星形化の比率が4.0に等しい星型八面体である.先端までが非常に長い.
次は外接球に投影される前に三角形分割された多面体の例である.
次は各面の辺を40%切り取った多面体の例である.
OpenTruncateを使うと切り取られた多面体の内側が見られる.

PolyhedronData[poly,"GraphicsComplex"]を使うと,多角形のリストをGraphicsComplex形式で返することができる.また,"Vertices"は頂点座標のリストを,"Faces""Edges"はそれぞれ,対応するオブジェクトの指標を与える.

PolyhedronData[poly,"GraphicsComplex"]指定された多面体のグラフィックスを表すGraphicsComplexを与える
PolyhedronData[poly,"Vertices"]多面体の頂点座標のリストを与える
PolyhedronData[poly,"Faces","Polygon"]多面体の面のリストをPolygonプリミティブとして与える
PolyhedronData[poly,"Edges","Line"]多面体の辺のリストをLineプリミティブとして与える

頂点,面,辺データの取得

次は原点を中心とする四面体に対応するGraphicsComplexオブジェクトである.
この四面体の頂点を与える.
"Polygon"を使い,Polygonプリミティブのリストを返す.
"Line"を使い,四面体の辺を表すLineプリミティブのリストを与える.