next up previous contents
: 解説 : ベクトルの大きさ : ベクトルの大きさ   目次

実装

ベクトルの大きさ、ベクトルの正規化を 関数としてそれぞれ以下のように実装する。

/* ベクトルの大きさ */
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;
}



Hiroshi KAWAI 平成15年4月19日