>>English

■ガンマ計算機■
for Windows

■Down Load!!(1.8MB)■
Delphi版 (220KB)

このソフトウエアはガンマ値を調整して2本の直線の形を変えずに、滑らかに繋げる場合の
ガンマ値を計算するためのものです。

計算は関連する3点の座標を入力し計算させれば終了。
これを目的のポイントに入力すればおしまいです。

C++Builderの勉強を兼ねて作成したものなのでショボイプログラムですが、
自分でも割合に重宝するので、宜しければ使ってみてください。

なお、このプログラムではアルファとマグニチュードは計算出来ません
というか、計算方法が解りません(苦笑)

面に対して滑らかに線を延ばす場合はアルファの計算が必要ですし
マグニチュードが解らないと目的の曲面にはなりませんが
大抵はガンマが解れば気合でなんとかなると思うので、とりあえず。

2005.3.1 Delphi版に変更使い方は同じです。


3つのポイントの座標をプロパティウインドウから読み込むなどして
計算機に入力してください。


すんません、今の式ではプラスマイナスが計算できません
適時、入れ替えてください。




反対側も同じように計算します

カトキガンダムの面取りとかはこんな感じでよいかも


マグニチュードを修正してレンダリングすれば丸い角にも出来ます。
マグニチュードは勘で調整してもそれなりには見えます。


折角なので計算式もUP
いわゆる内積と言う物で計算します。
VisualC++を使えばSDKでもっと格好良く出来そうだけど
私は使えないのでごめんなさい。

x1=Position2_x-Position1_x;
y1=Position2_y-Position1_y;
z1=Position2_z-Position1_z;

x2=Position3_x-Position2_x;
y2=Position3_y-Position2_y;
z2=Position3_z-Position2_z;

d_data1=(x1*x2 + y1*y2 + z1*z2);
d_data2=sqrt(x1*x1+y1*y1+z1*z1)*sqrt(x2*x2+y2*y2+z2*z2);

if(d_data2>0){

d_data=d_data1/d_data2;
if(d_data>=1){
d_data=1;

}

if(d_data<=-1){

d_data=-1;

}

d_data=acos(d_data)/M_PI*180; //Gamma

}

else{

//Err

}

 



AnimationMaster10d
2002/2/5