面積座標は、各成分ごとにそれぞれスカラー変数として実装される。 また、自然座標と面積座標との変換をおこなう関数は 以下のようになる。
/*
二次元三角形の面積座標変数 L0, L1, L2 は、
それぞれ以下のように定義される。
double L0, L1, L2;
*/
/* 自然座標から面積座標への変換 */
void WH_Fem__Shape2D__Tri__NaturalToArea
(double whV_xi[2],
double *OUT__L0, double *OUT__L1, double *OUT__L2)
/*
入力引数:
whV_xi はベクトルで、自然座標
出力引数:
OUT__L0, OUT__L1, OUT__L2 はスカラーで、面積座標
*/
{
*OUT__L0 = 1 - whV_xi[0] - whV_xi[1];
*OUT__L1 = whV_xi[0];
*OUT__L2 = whV_xi[1];
}
/* 面積座標から自然座標への変換 */
void WH_Fem__Shape2D__Tri__AreaToNatural
(double L0, double L1, double L2,
double OUT__whV_xi[2])
/*
入力引数:
L0, L1, L2 はスカラーで、面積座標
出力引数:
OUT__whV_xi はベクトルで、自然座標
*/
{
OUT__whV_xi[0] = L1;
OUT__whV_xi[1] = L2;
}