next up previous contents
: 稜線の法線方向ベクトル : 稜線の長さ : 稜線の長さ   目次

実装

稜線の長さを求める 関数は以下のようになる。

/* 稜線の長さ */
void WH_Fem__Simplex2D__l
(double whV_x0[2], 
 double whV_x1[2], 
 double whV_x2[2],
 int Iedge,
 double *OUT__l)
/*
  入力引数:
    whV_x0, whV_x1, whV_x2 はベクトルで、各頂点の位置
    Iedge は0から2までの整数で、稜線ID
  出力引数:
    OUT__l はスカラーで、稜線の長さ
*/
{
  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];

  switch (Iedge) {
  case 0:
    *OUT__l = sqrt ((x1 - x2) * (x1 - x2) 
                  + (y1 - y2) * (y1 - y2));
    break;
  case 1:
    *OUT__l = sqrt ((x2 - x0) * (x2 - x0) 
                  + (y2 - y0) * (y2 - y0));
    break;
  case 2:
    *OUT__l = sqrt ((x0 - x1) * (x0 - x1) 
                  + (y0 - y1) * (y0 - y1));
    break;
  default:
    assert(0);
    break;
  }
}



Hiroshi KAWAI 平成15年8月11日