※ CalendarMemo で mc
[2002/08/18 22:32:01]

 ようやく CalendarMemo で mc (matrix calculator) が実行できるようになりました。MacOS X 版の mc です。まだ完全ではないしマニュアルもまだ用意できていないのでバージョンは 0.9.9 (マニュアルなし版:もうすぐ ver 1.0.0)としています。

 mc に興味のない方は気にしなくて結構です。ただちょっとアプリケーションの容量が大きくなった程度と思ってください。前と同じ CalendarMemo です普通に使って下さい。

Download: CalendarMemo0.9.9a02.dmg.sit

● 何ができるか

 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 から

 という訳で上記のサンプルプログラムが CalendarMemo のメモ上で実行できるようになりました。メモがデータ処理環境になってしまった訳です。

● 残念ながら

 まだ mc の部分は完全ではありません。夏季休暇の間に計算や作図ができるようになりましたが、まだファイルへのアクセス関連がまだ不備の状態です。また移植していない関数が山ほど残っています(3Dボリュームレンダリング関連やモーフィング等)。これから少しずつ追加していこうかと思っています。

● まだ試用版

 今回公開する CalendarMemo の mc バージョンは試験的なものです。雰囲気だけでも味わって下さい。前バージョンの CalendarMemo と入れ替えて利用して下さい。


以上

2002/08/18 by Nishimura Hiromi