2010年7月16日金曜日

3パラメター問題解消!


極座標にパラメターを設定してあげれば自由度2の曲面を自由に3次元にプロットすることができるとわかりました。昨日の問題はこれでほぼ解決しました。
このグラフはSteiner Phaseになるはずの式でしたが、原因が掴めず今のところうまくSteiner Phaseにはなっていません。あとでまた挑戦してみようと思います。わかったのは自由度3の曲面を3次元にプロットする事はできないということ(アタリマエですが。。。)。一つ賢くなりました。

set size ratio 2
set isosample 128,128
set parametric
set hidden3d
set xyplane 0
set pm3d at s
set view 80,20
unset tics
Y(u,v) = 3*(sin(u)**2*cos(v)**2*sin(u)**2*sin(v)**2+sin(u)**2*cos(v)**2*cos(v)**2+sin(u)**2*sin(v)**2*cos(u)**2 -17*sin(u)*cos(v)*sin(u)*sin(v)*cos(u));
x(u,v) = Y(u,v)*sin(u)*cos(v)
y(u,v) = Y(u,v)*sin(u)*sin(v)
z(u,v) = Y(u,v)*cos(u)
splot [-pi:pi] [-pi:pi] x(u,v) , y(u,v) ,z(u,v) with lines notitle


原点回帰しました。一度set parametricを打つとそのwindowが閉じられるまでparametricは有効なままであるという事がわかりました(面倒くさい。。。)
これで一応今日はやめにしようと思います。



最後はMaximaで動かしました。wxMaximaは破棄しました。
しかし、なんでMaximaでつくるとこんなに綺麗なんだろうか・・・
先ほど不具合が起きて、Maximaでグラフが書けなかったんですが、再インストールして復活しました。アプリケーションの状態は暫くこれで保存しようと思います。今日も3時間くらいやっていました。まだ使えていない機能も沢山ありますが、とりあえず、暫くおいておこうと思います。『Gnuplot in Action』が欲しい今日この頃です。

plot3d(
[5*sin(x)*cos(y)*(sin(x)^2*cos(y)^2*sin(x)^2*sin(y)^2+sin(x)^2*cos(y)^2*cos(y)^2+sin(x)^2*sin(y)^2*cos(x)^2 -17*sin(x)*cos(y)*sin(x)*sin(y)*cos(x)),
5*sin(x)*sin(y)*(sin(x)^2*cos(y)^2*sin(x)^2*sin(y)^2+sin(x)^2*cos(y)^2*cos(y)^2+sin(x)^2*sin(y)^2*cos(x)^2 -17*sin(x)*cos(y)*sin(x)*sin(y)*cos(x)),
5*cos(x)*(sin(x)^2*cos(y)^2*sin(x)^2*sin(y)^2+sin(x)^2*cos(y)^2*cos(y)^2+sin(x)^2*sin(y)^2*cos(x)^2 -17*sin(x)*cos(y)*sin(x)*sin(y)*cos(x))],
[x,-%pi,%pi],[y,-%pi,%pi],['grid,40,40]);

--------------------------------------------------------------


wxMaximaにどうやらopenmathが入っているらしいとわかり、結局インストールして設定しました。色々問題は合ったものの何とかopenmathによるプロットを完了。こんな感じでした。

今日もまた沢山進歩したので、これでよしとしようと思います。

5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3.0)-10.0,
-5*sin(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3.0),
5*(-sin(x/2)*cos(y)+cos(x/2)*sin(2*y))

0 件のコメント: