OPENC函数 UF_CSYS函数 UF_MTX函数(如何创建坐标系);

 1 //  (题目不够长,写在这了)
 2 //   函数有
 3 //  UF_MTX3_initialize,UF_CSYS_create_matrix,UF_CSYS_create_csys,UF_CSYS_ask_csys_info,UF_CSYS_set_wcs_display,UF_CSYS_ask_matrix_values,UF_CSYS_edit_matrix_of_object,UF_CSYS_set_origin,UF_CSYS_set_wcs 
 4     UF_initialize();
 5 
 6     //MTX3_initialize
 7     //给定x,y方向
 8     double x_vec[3]={1.0,0.0,0.0};
 9     double y_vec[3]={0.0,1.0,0.0};
10     double mtx[9]={0.0};
11     //CSYS_create_matrix
12     tag_t matrix_id=NULL;
13     //CSYS_create_csys
14     double csys_orign[3]={10.0,10.0,0.0};
15     tag_t csys_id=NULL;
16     //CSYS_ask_csys_info
17     tag_t out_mtx_id=NULL;
18     double out_csys_origin[3]={0.0};
19     //CSYS_set_wcs_display
20     int display_status=1;
21     //CSYS_ask_matrix_values
22     double matrix_value[9]={0.0};
23     //给个x方向,y方向输出一个3x3的矩阵
24     UF_MTX3_initialize(x_vec,y_vec,mtx);
25     //输入3x3的矩阵,得到矩阵的tag值
26     UF_CSYS_create_matrix(mtx,&matrix_id);
27     //创建一个csys坐标系
28     UF_CSYS_create_csys(csys_orign,matrix_id,&csys_id);
29     //得到坐标系的tag,从而得到信息
30     UF_CSYS_ask_csys_info(csys_id,&out_mtx_id,out_csys_origin);
31     //设置坐标系显示
32     UF_CSYS_set_wcs_display(display_status);
33     //输入矩阵的tag获取矩阵的值
34     UF_CSYS_ask_matrix_values(matrix_id,matrix_value);
35 
36     char msg[256],msg1[256];
37     sprintf(msg,"%f,%f,%f\n",out_csys_origin[0],out_csys_origin[1],out_csys_origin[2]);
38     sprintf(msg1,"%f,%f,%f\n%f,%f,%f\n%f,%f,%f\n",matrix_value[0],matrix_value[1],matrix_value[2],matrix_value[3],matrix_value[4],matrix_value[5],matrix_value[6],matrix_value[7],matrix_value[8]);
39     //打印
40     UF_UI_open_listing_window();
41     UF_UI_write_listing_window(msg);
42     UF_UI_write_listing_window("\n");
43     UF_UI_write_listing_window(msg1);
44 
45     //************************以下为从新改变坐标的函数*****************************//
46     //给定x,y方向
47     double x_vec_ew[3]={5.0,8.0,9.0};
48     double y_vec_new[3]={2.0,3.0,6.0};
49     double mtx_new[9]={0.0};
50     //CSYS_create_matrix
51     tag_t new_matrix_id=NULL;
52     //new_origin
53     double new_csys_orign[3]={30.0,80.0,100.0};
54     //给个x方向,y方向输出一个3x3的矩阵
55     UF_MTX3_initialize(x_vec_ew,y_vec_new,mtx_new);
56     //输入3x3的矩阵,得到矩阵的tag值
57     UF_CSYS_create_matrix(mtx_new,&new_matrix_id);
58     //指定的新坐标系矩阵的标识符更新指定的坐标系矩阵
59     UF_CSYS_edit_matrix_of_object (csys_id,new_matrix_id);
60     //给坐标系指定新的原点
61     UF_CSYS_set_origin (csys_id,new_csys_orign);
62     //设置wcs坐标系
63     UF_CSYS_set_wcs(csys_id);
64 
65     UF_MODL_update();
66 
67     UF_terminate();
posted @ 2019-12-14 11:58  你好我叫赵老师  阅读(470)  评论(0编辑  收藏  举报