next up previous contents
: 面積座標系 : 稜線の法線方向ベクトル : 稜線の法線方向ベクトル   目次

実装

稜線の法線方向ベクトルを求める 関数は以下のようになる。

/* 稜線の法線方向ベクトル */
void WH_Fem__Simplex2D__whV_n
(double whV_x0[2], 
 double whV_x1[2], 
 double whV_x2[2],
 int Iedge,
 double OUT__whV_n[2])
/*
  入力引数:
    whV_x0, whV_x1, whV_x2 はベクトルで、各頂点の位置
    Iedge は0から2までの整数で、稜線ID
  出力引数:
    OUT__whV_n はベクトルで、法線方向
*/
{
  double x0 = whV_x0[0];
  double x1 = whV_x1[0];
  double x2 = whV_x2[0];
  double y0 = whV_x0[1];
  double y1 = whV_x1[1];
  double y2 = whV_x2[1];
  double l;

  WH_Fem__Simplex2D__l
    (whV_x0, whV_x1, whV_x2, Iedge,
     &l);
  switch (Iedge) {
  case 0:
    OUT__whV_n[0] = (y2 - y1) / l;
    OUT__whV_n[1] = (x1 - x2) / l;
    break;
  case 1:
    OUT__whV_n[0] = (y0 - y2) / l;
    OUT__whV_n[1] = (x2 - x0) / l;
    break;
  case 2:
    OUT__whV_n[0] = (y1 - y0) / l;
    OUT__whV_n[1] = (x0 - x1) / l;
    break;
  default:
    assert(0);
    break;
  }
}



Hiroshi KAWAI 平成15年8月11日