NX二次开发-NX中向量的坐标系变换说明
NX 中存在两个函数用于向量与矩阵相乘达到向量坐标系变换的目的;
UF_MTX3_vec_multiply()函数表示向量(vec) X 矩阵(mtx)。
UF_MTX3_vec_multiply_t()函数表示向量(vec) X 矩阵的转置(trns(mtx))。
在这里说一下两个函数使用方法;
1.已知向量在绝对坐标系下的坐标求向量在工作坐标系下的坐标;
此是可以使用UF_MTX3_vec_multiply(),
double douVecX[3] = { 1.0,0.0,0.0 }; double douCsys[9] = { 0.866025,-0.500000,0.0,0.500000,0.866025,0.0,0.0,0.0,1.0 }; double douVec[3]; UF_MTX3_vec_multiply(douVecX, douCsys, douVec);
douVecX表示向量下绝对坐标系下的X轴坐标;
douCsys表示工作坐标系的坐标系矩阵;
得到的结果douVec就是向量douVecX在坐标系douCsys下的坐标。
2.已知向量在工作坐标系下的坐标求向量在绝对坐标系下的坐标;
此是可以使用UF_MTX3_vec_multiply_t(),
double douVecX[3] = { 1.0,0.0,0.0 }; double douCsys[9] = { 0.866025,-0.500000,0.0,0.500000,0.866025,0.0,0.0,0.0,1.0 }; double douVec[3]; UF_MTX3_vec_multiply(douVecX, douCsys, douVec);
douVecX表示向量下工作坐标系douCsys下的X轴坐标;
douCsys表示工作坐标系的坐标系矩阵;
得到的结果douVec就是向量douVecX在绝对坐标系下的坐标。