ポリゴンを描く(Mathematica)

ポリゴンを表示するプログラム(どう書く?org)

適当なポリゴンを表示させて、描画するプログラムを書いてください。ポリゴンは回転させてください。

2D処理だけなら、標準ライブラリで大体いけますが、3D処理は追加でライブラリを利用すると思うので、何のライブラリを利用したのか書いてください。

正四面体を書いてみる。

まず、頂点を設定する。

a = {1, 0, 0};
b = {-1/2, Sqrt@3/2, 0};
c = {-1/2, -Sqrt@3/2, 0};
d = {0, 0, Sqrt@2};

次に、ポリゴンを生成する。

tetra = {
   Polygon[{a, b, c}],
   Polygon[{a, b, d}],
   Polygon[{b, c, d}],
   Polygon[{c, a, d}]
  };

最後に、描画する。

Show[Graphics3D[tetra]]

Mathematica 6ならマウスでドラッグすれば回転する(Shiftを押しながらドラッグすると拡大縮小。参考:グラフィックスのインタラクティビティと描画)。Mathematica 9ではCtrlを押しながらドラッグすると拡大縮小。

Mathematica 5.2以前でも、「RealTime3D」を読み込んでから描画すれば、ドラッグすれば回転する。このことはドキュメントに書かれていない。Version 6の「新機能」だから?

ご存知ですか?

RealTime3Dは3Dグラフィックスをリアルタイムに回転させるもので,Mathematica 4.1ではすべてのプラットフォームでサポートされています.<<RealTime3D`というパッケージをロードすればマウスで3Dグラフィックスの操作ができるようになります.(MATHwire 2001年1月

<< RealTime3D`;
Show[Graphics3D[tetra]];
<< Default3D`;

上の方法で正四面体を描いたのはポリゴンの描き方を見せるためであって、普段は単にライブラリを呼び出すだけでいい。

<< Graphics`Polyhedra`
Show[Polyhedron[Tetrahedron]]

もっと新しいバージョンでは、追加ライブラリ無しで描画できる。

PolyhedronData["Tetrahedron"]