271828の滑り台Log

271828は自然対数の底に由来。時々ギリシャ・ブラジル♪

wxMaximaの使い心地(その22)

2011-03-05 06:07:36 | 数学
前回の記事では山本信雄さんの「卵形曲線の方程式」を陰関数で表示させてみました。引き続き、パラメータによって卵形が変化する様子をアニメーションにしてやろうと思ったのです。それでマリオさんの例題を参照してみました。インラインではなくて、アニメーションGIFを出力させることが目的です。まず例題をコピペして実行させましたが、pic_width = 300,pic_height = 300 は使うなとMaximaに文句を言われたので、ご推奨の dimensions = [360,300] に書き換えたものが以下です。

draw(terminal = animated_gif,
delay = 60,
file_name = "gifanim",
dimensions = [360,300],
gr2d(explicit(x^0.1,x,0,1)),
gr2d(explicit(x^0.2,x,0,1)),
gr2d(explicit(x^0.3,x,0,1)),
gr2d(explicit(x^0.4,x,0,1)),
gr2d(explicit(x^0.5,x,0,1)),
gr2d(explicit(x^0.6,x,0,1)),
gr2d(explicit(x^0.7,x,0,1)),
gr2d(explicit(x^0.8,x,0,1)),
gr2d(explicit(x^0.9,x,0,1)),
gr2d(explicit(x^1,x,0,1)) );


出力された画面を見て、フレームのサイズもやや修正、delay = 60 としてややゆっくり動かしたのが冒頭のgifです。Maximaでは一連のシーンを描く時に使われるのが関数drawです。マニュアルでは以下のように記述されています。

関数: draw (gr2d, ..., gr3d, ..., options, ...)
  一連のシーンをプロットします; 引数はgr2dやgr3dのオブジェクトといくつかのオプションです。デフォルトでは、シーンは1列の中に一緒に置かれます。
  関数drawは以下のグローバルオプションを受け付けます: terminal, columns, dimensions, file_name, delay.
  関数draw2dやdraw3dはそれぞれ、2次元と3次元に関して、1つのシーンだけが要求される時に使われるショートカットです。

シーン構成子gr2dの中にimplictを書いてやればアニメーションになるはずです。やってみました。


この記事で参考にさせて頂いたのは山本信雄さんの「卵型曲線の方程式は?創造への一歩」です。円から卵形に変化する様子がアニメーションになりました。

draw(terminal = animated_gif,
delay = 60,
file_name = "gifanim_imp",
dimensions = [360,300],
gr2d(implicit((x^2+y^2)^2=4*x^3+20*x*y^2/5, x, 0,5,y, -2.5,2.5)),
gr2d(implicit((x^2+y^2)^2=4*x^3+16*x*y^2/5, x, 0,5,y, -2.5,2.5)),
gr2d(implicit((x^2+y^2)^2=4*x^3+12*x*y^2/5, x, 0,5,y, -2.5,2.5)),
gr2d(implicit((x^2+y^2)^2=4*x^3+8*x*y^2/5, x, 0,5,y, -2.5,2.5)),
gr2d(implicit((x^2+y^2)^2=4*x^3+4*x*y^2/5, x, 0,5,y, -2.5,2.5)),
gr2d(implicit((x^2+y^2)^2=4*x^3, x, 0,5,y, -2.5,2.5)));


色を変える、グリッドや軸を表示させるパラメータはgr2d()の中に書けばもっと分かりやすくなるでしょう。次回はもう少し工夫してみましょう。

  ↓ポチッと応援お願いします!
にほんブログ村 科学ブログ 技術・工学へ

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 映画『アレクサンドリア』 | トップ | 「早春賦」と「暗いはしけ」 »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

数学」カテゴリの最新記事