3.11 組み込み関数

前のページ次のページ

 G-BASICには普通の数値計算でよく使う標準の組み込み関数を下のように用意しています。これらは通常の数値計算にも利用しますが、図形要素の型を引き数として利用できるように拡張した仕様にしてある関数もあります。
    ABS、 ATN/ATN2、 SQR/CBRT、 COS/SIN/TAN、 EXP、 LOG、 MOD、
    RND、 SGN
これらの関数で図形要素を引き数として利用する場合の特徴を説明します。

(1) ABS:常識的には与えられた数の絶対値を求めます。この関数の引き数に線分を使うことができて、線分の長さが計算できます。点の型を引き数にすると、原点からその点までの距離を計算します。距離を求める関数にはDISも利用できますが、そちらはマイナス符号(−)符号が付くことがあります。

(2) ATN/ATN2:逆正接(arctangent)を求める関数です。ATNは引き数一つです。ATNには、例えば2次元の点の型を持った変数P=(x,y)を引き数として使えます。この場合、座標の原点からこの点までのベクトルを考え、+x軸から測ったこのベクトルの角度を度(degree)で計算します。引き数に直線や線分の型を持った変数名を使う場合も、これらが向きを持って定義されていますので、同様の計算値が得られます。三次元のベクトルや線分の場合、xy座標平面とのなす角度が求まります。ATN2の引き数は二つです。実数を引き数とする場合には角度を度で計算して全方位(-180,180)を求めることができますので、ATNよりも使い易い関数です。この引き数に二つの点を使うと、二つのベクトル間の角度を度で求めるようになっています。引き数に、二線分や二直線も使えます。

(3)SQR/CBRT:平方根と立方根とを求める関数です。

(4) COS/SIN/TAN:三角関数の引き数に図形要素の型を代入できるように拡張した仕様にしてあります。例えば2次元の点の型を持った変数P=(x,y)が引き数として使えます。この場合、座標の原点からこの点までのベクトルを考え、x軸とのなす角度でSIN、COS、TANの値が得られます。3次元のベクトルや線分の場合、xy座標平面とのなす角度で三角関数が求まります。

 平面幾何学では二直線の交点を求める計算、立体幾何学では平面と平面、直線と平面との交差を求める計算がよく現れます。G-BASICでは、これらの処理を関数にまとめるのではなく、演算子「&」を使って直接代数式で計算させるようにしてあります。幾何に固有の処理で、関数に組み立てたものに次のものがあります
    DIS、 FBSEC/LBSEC、 MIRR/TMIRR、MROT/TROT/XROT、 REV

(1) DIS:この章の始めに例示したG-BASICプログラムに出てきましたが、引き数を二つ使って、二つの幾何学的要素間の符号つき距離を求めます。二点間の距離は正の数値で得られますが、2次元の点と直線との距離を求める場合には、点が直線の正の向きに対して左側にあるときに正の距離、右側にあるときに負の距離で結果が返されます。3次元の場合、点と面との距離も、点が面の正側、負側にあることを反映させるように符号がつきます。

(2) FBSEC/LBSEC:平面幾何学ではLBSECは二点間の垂直二等分線を求め、立体幾何学ではFBSECで二点間を垂直に隔てる面を求めます。

(3) MIRR/TMIRR:鏡に写すように幾何学的要素を変換させる目的に使う変換行列を与えます。MIRRは2次元の変換行列の型を持ち、直線または線分を引き数とします。TMIRRは3次元の変換行列の型を持ち、鏡を代表させる面を引き数にします。

(4) MROT/TROT/XROT:原点を中心とした回転を与える変換行列を求めます。MROTは2次元の回転を与える変換行列を与え、引き数は回転角度です。TROT/XROTは3次元の回転を与える行列で、座標軸回りの回転を与える場合と、任意の向きの直線を回転軸とする場合とを与えます。

(5) REV:この関数は、引き数の幾何学的要素の型について、向きを逆に定義するのに使います。この簡単な説明は前説の最後のパラグラフに載せました。変換行列に利用する場合、REVの処理は逆変換の変換行列を計算するように定義しました。なお、2次元の円の型では、円の半径に符号を持たせ、左回り(+)と右回り(−)とを区別します。関数REVは、この向きの定義を逆にします。円の符号は、円に接線を引くとき、接線の向きを一意に定めることができます。

次のページ