軸性ベクトルと反対称テンソルの変換を関数として以下のように実装する。
/* 軸性ベクトルより反対称テンソルを得る */
void WH_Tensor3D__antisymmetricTensor_whV_OUT_whT
(double whV_omega[3],
double OUT__whT_X[3][3])
/*
入力引数:
whV_omega はベクトル
出力引数:
OUT__whT_Xはテンソルで、
whV_omega を軸性ベクトルとする反対称テンソル
*/
{
OUT__whT_X[0][0] = 0;
OUT__whT_X[0][1] = -whV_omega[2];
OUT__whT_X[0][2] = whV_omega[1];
OUT__whT_X[1][0] = whV_omega[2];
OUT__whT_X[1][1] = 0;
OUT__whT_X[1][2] = -whV_omega[0];
OUT__whT_X[2][0] = -whV_omega[1];
OUT__whT_X[2][1] = whV_omega[0];
OUT__whT_X[2][2] = 0;
}
/* 反対称テンソルより軸性ベクトルを得る */
void WH_Tensor3D__axialVector_whT_OUT_whV
(double whT_X[3][3],
double OUT__whV_omega[3])
/*
入力引数:
whT_Xはテンソルで、反対称テンソルでなければならない。
出力引数:
OUT__whV_omega はベクトルで、whT_Xの軸性ベクトル
*/
{
OUT__whV_omega[0] = whT_X[2][1];
OUT__whV_omega[1] = whT_X[0][2];
OUT__whV_omega[2] = whT_X[1][0];
}