MathematicaからJava Appletへの変換
 最後にMathematicaで作成した3D図形をJava Appletに変換してみましょう。これはLiveGraphics3DというJava Appletを用いて作成することができます。

 なお,このJava Appletは次のURLから"Live.class"をダウンロードすることが必要です。
  「LiveGraphics3D Homepage」 (Martin Kraus)
   http://theorie3.physik.uni-erlangen.de/~mkraus/Live.html

 このclassを用いることで,Java Appletの知識を持たなくても引数を指定してやるだけでAppletを実行させることができます。VRMLよりもLiveGraphics3Dの方が操作が簡単なうえ,光立体図形にあたる光の強さや方向などの指定をしなくてもMathematicaの図形を忠実に実現することができます。

 また,立命館大学理工学部の倉田 陽介さんから情報をいただきました。厚くお礼申し上げます。倉田さんのHPのURLはつぎのところです。
  「Suggestions for Mathematics & Various Life」 (倉田 陽介)
   http://ha4.seikyou.ne.jp/home/citrous/

 それではまずパッケージををロードしましょう。


Remove["Global`*"];

Get["Graphics`Polyhedra`"]

Get["knife`"];

Get["Graphics`Shapes`"];

 次にMathematicaで作成したobjectを,ファイル名を指定してconvertする関数を定義します。


WriteLiveForm[filename_, g_] := (   WriteString[filename, 

   ToString[NumberForm[InputForm[N[g]], 5]]];   Close[filename];)

 それではいくつかの図形を作成してJava Appletに変換してみましょう。変換した後はHTMLファイルでLiveGraphics3Dのappletを読み込みます。Mathematicaの図をクリックするとJava Appletの入ったページが表示されます。


cone=Graphics3D[Cone[]];

gr=knife[cone,{1,1,1,0},{0,0,0},{.3,.3,.3}];

Show[gr]

WriteLiveForm["cut_cone.g3d", gr] 


cube=Graphics3D[Cube[]];

gr=knife[cube,{1,1,1,0},{0,0,0},{.3,.3,.3}];

Show[gr]

WriteLiveForm["cut_cube.g3d", gr]


gr=	ParametricPlot3D[

{(2+05 Cos[u]) Cos [v] ,(2+0.5 Cos [u]) 

 Sin [v],0.5 Sin [u]+v/5 },{ u ,0.5 Pi,2.5 Pi},

 {v ,-2Pi ,2 Pi } ]  ;

WriteLiveForm["coil.g3d", gr]

 ここで用いたMathematicaのNotebookは,次のところをクリックするとダウンロードできます。
     → ToJave.nb (6kb)