ベクトルの大きさ、ベクトルの正規化を 関数としてそれぞれ以下のように実装する。
/* ベクトルの大きさ */
void WH_Tensor3D__whLen_whV_OUT_s
(double whV_a[3],
double *OUT__b)
/*
入力引数:
whV_a はベクトル
出力引数:
OUT__bはスカラーで、whV_a の大きさ
*/
{
double aa;
WH_Tensor3D__whV_cdot_whV_OUT_s
(whV_a, whV_a,
&aa);
*OUT__b = sqrt (aa);
}
/* ベクトルの正規化 */
void WH_Tensor3D__whNormalize_whV_OUT_whV
(double whV_a[3],
double OUT__whV_b[3])
/*
入力引数:
whV_a はベクトル
出力引数:
OUT__whV_bはベクトルで、whV_a を正規化したもの
*/
{
double len;
WH_Tensor3D__whLen_whV_OUT_s
(whV_a,
&len);
OUT__whV_b[0] = whV_a[0] / len;
OUT__whV_b[1] = whV_a[1] / len;
OUT__whV_b[2] = whV_a[2] / len;
}