NX二次开发-矩阵乘矩阵的几何意义

函数:UF_MTX3_multiply() 或者UF_MTX3_multiply_t()。推荐使用UF_MTX3_multiply() 

函数说明:矩阵相乘,得到新的矩阵,如下图WCS与ABS重合,在暗绿色坐标系(ABS坐标系)下有个亮绿色坐标系(dou9m1[9] = { -1,0,0,0,1,0,0,0,-1 };),将亮绿色坐标系变换到粉红色坐标系(douFaceCsysMatrix[9] = { -1,0,0,0,-1,0,0,0,1 };)下得到红色坐标系(dou9m2)。矩阵乘积的几何意义:坐标系转换到另一个坐标系下,相对位置不变。A坐标系中有个B,将B转换到A1坐标系下得到B1,则B与A和B1与A1的相对几何位置不变。

 

 

 

 1 #include "Text.h"
 2 extern DllExport void ufsta(char *param, int *returnCode, int rlen)
 3 {
 4     UF_initialize();
 5 
 6     double    douFaceCsysMatrix[9] = { -1,0,0,0,-1,0,0,0,1 };
 7 
 8     double    dou9m1[9] = { -1,0,0,0,1,0,0,0,-1 };
 9     double    dou9m2[9];
10     
11     UF_MTX3_multiply(dou9m1, douFaceCsysMatrix, dou9m2);
12 
13 
14     tag_t tagMatrixId = NULL_TAG;
15     UF_CSYS_create_matrix(dou9m2, &tagMatrixId);
16     double douCsysOrigin[3] = { 1,1,1 };
17     //创建坐标系
18     tag_t tagCSYS = NULL_TAG;
19     UF_CSYS_create_csys(douCsysOrigin, tagMatrixId, &tagCSYS);
20     //UF_CSYS_set_wcs(tagCSYS);
21 
22     
23 
24     UF_terminate();
25 }
26 
27 extern int ufusr_ask_unload(void)
28 {
29     return (UF_UNLOAD_IMMEDIATELY);
30 }

 

posted @ 2020-03-23 16:30  王牌飞行员_里海  阅读(526)  评论(0编辑  收藏  举报