//  (题目不够长,写在这了)
// 函数有
// 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
UF_initialize(); //MTX3_initialize
//给定x,y方向
double x_vec[]={1.0,0.0,0.0};
double y_vec[]={0.0,1.0,0.0};
double mtx[]={0.0};
//CSYS_create_matrix
tag_t matrix_id=NULL;
//CSYS_create_csys
double csys_orign[]={10.0,10.0,0.0};
tag_t csys_id=NULL;
//CSYS_ask_csys_info
tag_t out_mtx_id=NULL;
double out_csys_origin[]={0.0};
//CSYS_set_wcs_display
int display_status=;
//CSYS_ask_matrix_values
double matrix_value[]={0.0};
//给个x方向,y方向输出一个3x3的矩阵
UF_MTX3_initialize(x_vec,y_vec,mtx);
//输入3x3的矩阵,得到矩阵的tag值
UF_CSYS_create_matrix(mtx,&matrix_id);
//创建一个csys坐标系
UF_CSYS_create_csys(csys_orign,matrix_id,&csys_id);
//得到坐标系的tag,从而得到信息
UF_CSYS_ask_csys_info(csys_id,&out_mtx_id,out_csys_origin);
//设置坐标系显示
UF_CSYS_set_wcs_display(display_status);
//输入矩阵的tag获取矩阵的值
UF_CSYS_ask_matrix_values(matrix_id,matrix_value); char msg[],msg1[];
sprintf(msg,"%f,%f,%f\n",out_csys_origin[],out_csys_origin[],out_csys_origin[]);
sprintf(msg1,"%f,%f,%f\n%f,%f,%f\n%f,%f,%f\n",matrix_value[],matrix_value[],matrix_value[],matrix_value[],matrix_value[],matrix_value[],matrix_value[],matrix_value[],matrix_value[]);
//打印
UF_UI_open_listing_window();
UF_UI_write_listing_window(msg);
UF_UI_write_listing_window("\n");
UF_UI_write_listing_window(msg1); //************************以下为从新改变坐标的函数*****************************//
//给定x,y方向
double x_vec_ew[]={5.0,8.0,9.0};
double y_vec_new[]={2.0,3.0,6.0};
double mtx_new[]={0.0};
//CSYS_create_matrix
tag_t new_matrix_id=NULL;
//new_origin
double new_csys_orign[]={30.0,80.0,100.0};
//给个x方向,y方向输出一个3x3的矩阵
UF_MTX3_initialize(x_vec_ew,y_vec_new,mtx_new);
//输入3x3的矩阵,得到矩阵的tag值
UF_CSYS_create_matrix(mtx_new,&new_matrix_id);
//指定的新坐标系矩阵的标识符更新指定的坐标系矩阵
UF_CSYS_edit_matrix_of_object (csys_id,new_matrix_id);
//给坐标系指定新的原点
UF_CSYS_set_origin (csys_id,new_csys_orign);
//设置wcs坐标系
UF_CSYS_set_wcs(csys_id); UF_MODL_update(); UF_terminate();

UFUN函数 UF_CSYS函数 UF_MTX函数(如何创建坐标系);的更多相关文章

  1. UFUN函数 UF_CSYS UF_MODL UF_OBJ函数(建模注意坐标系);

    //用到的函数 //UF_MODL_create_block1 ,UF_MODL_ask_feat_body,UF_OBJ_set_name,UF_CSYS_map_point UF_initiali ...

  2. 每次调用fork()函数之后,父线程和创建出的子线程都是从fork()后开始执行

    Linux下多少个"-"将被打印: 1 2 3 4 5 6 7 8 int main(void){   int i;   for(i=0;i<4;i++){   fork() ...

  3. MySQL存储过程和自定义函数、Navicat for mysql、创建存储过程和函数、调用存储过程和函数的区别

    1 MySQL存储过程和函数 过程和函数,它们被编译后保存在数据库中,称为持久性存储模块(Persistent Stored Module,PSM),可以反复调用,运行速度快. 1.1 存储过程 存储 ...

  4. django基础之day09,创建一个forms表单组件进行表单校验,知识点:error_messages,label,required,invalid,局部钩子函数,全局钩子函数, forms_obj.cleaned_data,forms_obj.errors,locals(), {{ forms.label }}:{{ forms }},{{ forms.errors.0 }}

    利用forms表单组件进行表单校验,完成用户名,密码,确认密码,邮箱功能的校验 该作业包含了下面的知识点: error_messages,label,required,invalid,局部钩子函数,全 ...

  5. c++ 虚函数和纯虚函数

    在你设计一个基类的时候,如果发现一个函数需要在派生类里有不同的表现,那么它就应该是虚的.从设计的角度讲,出现在基类中的虚函数是接口,出现在派生类中的虚函数是接口的具体实现.通过这样的方法,就可以将对象 ...

  6. JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别

    函数声明:function fnName () {-};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName = function () {-};使 ...

  7. sqlserver中的表值函数和标量值函数

    顾名思义:表值函数返回的是表,而标量值函数可以返回基类型 一.表值函数 用户定义表值函数返回 table 数据类型.对于内联表值函数,没有函数主体:表是单个 SELECT 语句的结果集. 以下示例创建 ...

  8. 深入理解javascript函数系列第一篇——函数概述

    × 目录 [1]定义 [2]返回值 [3]调用 前面的话 函数对任何一门语言来说都是一个核心的概念.通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行.在javascript里,函数即 ...

  9. 为什么内联函数,构造函数,静态成员函数不能为virtual函数

    http://blog.csdn.net/freeboy1015/article/details/7635012 为什么内联函数,构造函数,静态成员函数不能为virtual函数? 1> 内联函数 ...

  10. [c++][语言语法]函数模板和模板函数 及参数类型的运行时判断

    参考:http://blog.csdn.net/beyondhaven/article/details/4204345 参考:http://blog.csdn.net/joeblackzqq/arti ...

随机推荐

  1. Linux时间日期类,压缩和解压类

    一.时间日期类 1.data指令 1.基本指令 date 显示当前日期 data +%Y 显示当前年份 data +%m 显示当前月份 data +%d 显示当前天 data +%Y-%m-%d %H ...

  2. 重学C语言之结构体

    概念 结构体是一种构造类型,由若干个成员组成,成员可以是基本数据类型,或是另一个结构体 声明结构体 struct 结构体名 { 成员列表 }; 结构体名表示结构的类型名. 声明一个结构体表示创建一种新 ...

  3. java中什么是包

    一.什么是包 包允许将类组合成较小的单元(类似文件夹),使其易于找到和使用相应的类文件 包有助于避免命名冲突.在使用许多类时,类和方法的名称很难决定.有时需要使用与其他类相同的名称.包基本上隐藏了类并 ...

  4. C#读写调整UVC摄像头画面-饱和度

    有时,我们需要在C#代码中对摄像头的饱和度进行读和写,并立即生效.如何实现呢? 建立基于SharpCamera的项目 首先,请根据之前的一篇博文 点击这里 中的说明,建立基于SharpCamera的摄 ...

  5. [C++] 初始化 vs 赋值

  6. C# LINQ干掉for循环

    public void OldSum() { ; ; i < ; i++) { sum0 += i; } Assert.AreEqual(, sum0); } public void NewSu ...

  7. 人脸跟踪开源项目HyperFT代码算法解析及改进

    一.简介 人脸识别已经成为计算机视觉领域中最热门的应用之一,其中,人脸信息处理的第一个环节便是人脸检测和人脸跟踪.人脸检测是指在输入的图像中确定所有人脸的位置.大小和姿势的过程.人脸跟踪是指在图像序列 ...

  8. pyspider最佳实践

    pyspider是好东西,非常稳定,很久很久以前架了一个,心冷了一段时间,但人家尽忠职守地持续运行,一直在抓取东西. 结合chrome,抓取代码简直不要太好写,没想到,最头大的,还是它的调度.明明感觉 ...

  9. 请实现一个js脚本,要求做到将数字转化为千分位表示如:1234567转化为1,234,567

    //法一 function parseNum(num){ var list = new String(num).split('').reverse(); for(var i = 0; i < l ...

  10. Active Directory渗透测试典型案例

    0x01 前言 我有几个客户在渗透测试之前来找我,说他们的系统安全做得非常好,因为他们的漏洞扫描显示没有严重的漏洞并且已准备好进行安全测试,这使我在15分钟内利用AD中的错误配置获得了域管理员权限. ...