● 何ができるかようやく CalendarMemo で mc (matrix calculator) が実行できるようになりました。MacOS X 版の mc です。まだ完全ではないしマニュアルもまだ用意できていないのでバージョンは 0.9.9 (マニュアルなし版:もうすぐ ver 1.0.0)としています。
mc に興味のない方は気にしなくて結構です。ただちょっとアプリケーションの容量が大きくなった程度と思ってください。前と同じ CalendarMemo です普通に使って下さい。
● これらが CalendarMemo からmc (matrix calculator) は行列演算機能を持つちょっと変わったプログラム言語を持つデータ処理環境です。詳しい事は「秋田脳研」のページを参照して下さい。例えば、こんな計算ができます。
実行はプログラム部分を選択(ハイライト)してから esc または enter キーを押して下さい。結果が次の行に挿入されます。
行列変数に 1,2,3,4 の数値を代入し、その平方根を一度に計算する。
三次関数のグラフを描画する。a = |1,2,3,4|; sqrt(a); 1.0000 1.4142 1.7321 2.0000 .OK.x = series(-5,5,0.1); y = x^3 + x^2 - 9*x - 9; setPlotWindowSize(350,300); parametricPlot(x,y);
.OK.
等高線図を描画
a = |2,4,3,2,1| |2,3,3,4,5| |3,4,2,3,1| |2,2,1,2,3|; b = hokan(a,30,30); max = 5; min = 1; step= 0.2; level=2.5; setTopoWindowSize(150,150); a# = contourPlot(b,|max,min,step,level|); a#;
.OK.
更に、この等高線図のデータを鳥瞰図で見ると
setView3D(|200,200,0,90,10,0.7|); view3DColor(b); setView3D(|200,200,20,35,10,0.7|); b# = view3DColor(b); b#;
.OK.
また濃淡図で
c = hokan(a,150,150); c#= densityPlot(c); c#;
.OK.
ついでに等高線図と濃淡図を重ねて表示してみよう
a#;c#;""; c#/2 + a#/2; b#;
.OK.
さあ調子が乗ってきたところで3D画像を
x=hokan(|-1,1||-1,1|*10,40,40); y=x'; z=sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)*7; setParametricPlot3D(|200,200,70,30,100,0.4|); frameLineDraw(1); RGB = popRGBColor(0); parametricPlot3DColor(x,y,z-mean(z)); frameLineDraw(0); RGB = popRGBColor(1); parametricPlot3DColor(x,y,z-mean(z));
.OK.
m = 30; n = 60; t = |0,Pai||0,Pai|; t = hokan(t,m,n); u = |0,2*π||0,2*π|'; u = hokan(u,m,n); r = 3・cos(t)^2-1; x = r・cos(t); y = r・sin(t)・sin(u); z = r・sin(t)・cos(u); frameLineDraw(1); RGB = popRGBColor(0); setParametricPlot3D(|300,200,35,0,20,2.5|); a# = parametricPlot3DColor(x,y,z); a#;.OK.
● 残念ながらという訳で上記のサンプルプログラムが CalendarMemo のメモ上で実行できるようになりました。メモがデータ処理環境になってしまった訳です。
● まだ試用版まだ mc の部分は完全ではありません。夏季休暇の間に計算や作図ができるようになりましたが、まだファイルへのアクセス関連がまだ不備の状態です。また移植していない関数が山ほど残っています(3Dボリュームレンダリング関連やモーフィング等)。これから少しずつ追加していこうかと思っています。
今回公開する CalendarMemo の mc バージョンは試験的なものです。雰囲気だけでも味わって下さい。前バージョンの CalendarMemo と入れ替えて利用して下さい。
以上
2002/08/18 by Nishimura Hiromi