|
Graphics`Shapes`
Mathematica のグラフィックスで最強の側面のひとつはPolygonやCuboidといった3Dグラフィックスプリミティブが使えるという点である.このようなプリミティブのリストを指定するだけで,3Dグラフィックスオブジェクトを作ることができる.このパッケージは一般的な3Dの多角形のリストを提供する.

3D形の表示
パッケージをロードする.
In[1]:= <<Graphics`Shapes`
Shortを使うと,円錐を作る多角形リストのスケルトン版を見ることができる.
In[2]:= Short[ Cone[ ], 5]
Out[2]//Short= 
次は,全パラメータにデフォルト値を使ったトーラスである.
In[3]:= Show[Graphics3D[ Torus[ ] ]]

Out[3]= 
それぞれの形は引数としてさまざまなパラメータを取ることができる.パラメータによって,半径,高さ,多角形のメッシュの大きさ等が調整される.引数を与えないと,すべてのパラメータにデフォルト値を用いた形ができる.例えば,Torus[ ]は半径,高さ,多角形のメッシュにデフォルト値を用いたトーラスを与える.

形.
次は,細かなメッシュでメビウスの帯を描画する.
In[4]:= Show[ Graphics3D[ MoebiusStrip[ 2, 1, 80] ]]

Out[4]= 

形とパラメータのデフォルト値
TranslateShape,RotateShape,AffineShapeを使うと,どんな形の位置,方向,スケールも調整することができる.これらの関数は多角形のリストで与えられる点の全座標を変換することで動作する.例えば,RotateShapeは多角形のリストにあるすべての座標に指定の回転行列を掛ける.

3Dグラフィックスオブジェクトの幾何学的操作
以下はメービウスの帯をオイラー角Pi/4,Pi/3,Pi/2で回転させる.
In[5]:= Show[RotateShape[ Graphics3D[MoebiusStrip[ ] ], Pi/4, Pi/3, Pi/2]]

Out[5]= 
次は半径が小さい方の螺線を 軸の正の方向に 変形する.半径が大きい方の螺旋線の回転回数はこれの2倍である.
In[6]:= Show[TranslateShape[ Graphics3D[ Helix[0.5, 0.5, 2, 20] ], {1.5, 0, 0}], Graphics3D[ Helix[1, 0.5, 4, 20] ]]

Out[6]= 

多角形を透過的にする
WireFrameはTranslateShape,RotateShapeやAffineShapeと同じようにプリミティブPolygon,Line,Pointを持つGraphics3Dオブジェクトすべてに作用する.
WireFrameはすべての多角形指定を辺に置き換える.
In[7]:= WireFrame[ Polygon[{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}]]
Out[7]= 
次は円錐形のワイヤーフレームである.
In[8]:= Show[WireFrame[Graphics3D[ Cone[ ] ]], Boxed->False]

Out[8]= 
|