//  (题目不够长,写在这了)
// 函数有
// 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. setInterval的使用

    可以通过设置标识,判断方法是否执行完 var interval = setInterval(function () { if( flag > 0 ){ clearInterval(interva ...

  2. ServerSocketChannel简述

    一.前言 前篇文章中了解了SocketChannel:提供了连接到套接字通道,从某种层面而言,NIO中提供了类似于java.net包中对于网络操作的api的功能.既然已经有连接到Socket套接字的通 ...

  3. C#中真正的属性

    引言 我们以前课堂上说的类当中的“属性”,其实官方叫法是“字段”或者“域”域(Field).正常使用,把它们当属性理解更加方便快捷,也没有什么问题. 如果要在微软的mvc中充分利用类带来的便利,就有必 ...

  4. python爬虫---爬虫的数据解析的流程和解析数据的几种方式

    python爬虫---爬虫的数据解析的流程和解析数据的几种方式 一丶爬虫数据解析 概念:将一整张页面中的局部数据进行提取/解析 作用:用来实现聚焦爬虫的吧 实现方式: 正则 (针对字符串) bs4 x ...

  5. JAVA 架构和技术框架百科

    YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只 ...

  6. android的子线程切换到主线程

    在子线程中,如果想更新UI,必须切换到主线程,方法如下: if (Looper.myLooper() != Looper.getMainLooper()) { // If we finish mark ...

  7. QT Graphics-View图元组使用

    通过把一个item作为另一个item的孩子,你可以得到item组的大多数本质特性:这些items会一起移动,所有变换会从父到子传递.QGraphicsItem也可以为它的孩子处理所有的事件,这样就允许 ...

  8. 面试题:栈的push和pop序列是否一致

    参数是两个数组,arr1,arr2 stack stack = new Stack() for(int i=0;j=0;i<arr1.length;i++){ stack.push(arr[i] ...

  9. 2019最新Android常用开源库总结(附带github链接)

    前言 收集了一些比较常见的开源库,特此记录(已收录350+).另外,本文将持续更新,大家有关于Android 优秀的开源库,也可以在下面留言. 一 .基本控件 1.TextView HTextView ...

  10. centos安装redis并且加入开机启动

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_41114593/articl ...