根据在网上找的公式编的程序,不知道对不对

%设在OXY坐标系中,原点不动,坐标轴旋转而得到一新坐标系OX'Y'Z':

%OX'轴与OX,OY,OZ轴的正向夹角分别成:α1,  β1,  γ1角;

%OY'轴与OX,OY,OZ轴的正向夹角分别成:α2, β2, γ2角;

%OZ'轴与OX,OY,OZ轴的正向夹角分别成:α3, β3, γ3角;

%若M点在坐标系OXYZ和OX'Y'Z'下的坐标分别为:(X,Y,Z)和(X',Y',Z')则相应的旋转变换为:

%X=X'cos α1+Y'cos α2+Z'cos α3

%Y=X'cos β1+Y'cos β2+Z'cos β3

%Z=X'cos γ1+Y'cos γ2 +Z'cos γ3

%或者

%X'=Xcos α1+Ycos β1+Zcos  γ1

%Y'=Xcos α2+Ycos β2+Zcos  γ2

%Z'=Xcos α3+Ycos β3 +Zcos γ3

%本子函数中用a b c 表示上述公式中的α β γ

%sys1表示卫星在J2000惯性坐标系下的三轴指向,sys2表示slew之后的三轴指向

sys1.X=[1 0 0];

sys1.Y=[0 1 0];

sys1.Z=[0 0 1];

sys2.X=[0 1 0];

sys2.Y=[0 0 1];

sys2.Z=[1 0 0];

a1=acosd(sys2.X*sys1.X'/(norm(sys2.X)*norm(sys1.X)));

b1=acosd(sys2.X*sys1.Y'/(norm(sys2.X)*norm(sys1.Y)));

c1=acosd(sys2.X*sys1.Z'/(norm(sys2.X)*norm(sys1.Z)));

a2=acosd(sys2.Y*sys1.X'/(norm(sys2.Y)*norm(sys1.X)));

b2=acosd(sys2.Y*sys1.Y'/(norm(sys2.Y)*norm(sys1.Y)));

c2=acosd(sys2.Y*sys1.Z'/(norm(sys2.Y)*norm(sys1.Z)));

a3=acosd(sys2.Z*sys1.X'/(norm(sys2.Z)*norm(sys1.X)));

b3=acosd(sys2.Z*sys1.Y'/(norm(sys2.Z)*norm(sys1.Y)));

c3=acosd(sys2.Z*sys1.Z'/(norm(sys2.Z)*norm(sys1.Z)));

%从sys1到sys2的旋转矩阵为:

rotate_matrix=[cosd(a1) cosd(a2) cosd(a3);

cosd(b1) cosd(b2) cosd(b3);

cosd(c1) cosd(c2) cosd(c3)]';

%tt=sys1.X*rotate_matrix;

%tt2=sys1.Y*rotate_matrix;

%tt3=sys1.Z*rotate_matrix;

%将旋转矩阵转化为四元数

q = dcm2quat(rotate_matrix);

matlab的空间坐标轴,空间三维坐标轴旋转相关推荐

  1. python实现三维坐标旋转计算

    空间三维坐标系旋转计算 计算空间三维坐标系变换一般都是利用旋转矩阵或者欧拉公式.python有个scipy库可以直接用于计算空间三维坐标变换. 支持库 pip install scipy 旋转矩阵计算 ...

  2. matlab中如何转动三维图_MATLAB小技巧之:绕任意空间轴旋转三维图形

    x=1:0.1:10; y=sin(x); c=cosd(15); s=sind(15); X=x*c-y*s; Y=x*s+y*c; plot(x,y) hold on plot(X,Y) 这就是新 ...

  3. matlab三维空间标点,matlab的空间三维作图及符号作图.ppt

    matlab的空间三维作图及符号作图 数学实验 Matlab 绘图(二) 绘制三维曲线 绘制三维曲面示例 绘制三维曲面 绘制三维曲面的过程 网格生成函数 绘制三维曲面 其它三维曲面作图命令 二维曲线作 ...

  4. 帅某---考研---空间直线绕坐标轴旋转、二次曲面方程

    一.空间直线绕坐标轴旋转 注:1.本说明以Z轴为例子,其他轴类同: 2.直线绕直线旋转对应的为二次曲面方程,属于超纲内容.考察内容为:给定二次曲面方程,只需要知道其曲面类型. 二.二次曲面方程 1.介 ...

  5. matlab计算空间桁架,基于matlab的空间三维桁架结构受力分析通用程序设计

    第 26 卷第 3 期 喀什师范学院学报 Vol. 26 No. 3 2005 年 5 月 Journal of Kashgar Teachers College May 2005 基于 matlab ...

  6. matlab中如何转动三维图_matlab中的三维坐标系与旋转

    1. matlab中的三维坐标系 matlab中的三维坐标系是使用的右手坐标系: 输入以下代码: >> plot3(0,0,0) >> xlabel('axis X') > ...

  7. 绕固定坐标轴旋转与绕自身坐标轴旋转一致性证明

      最近在看人头姿态和视线方向检测的东西,需要考虑坐标系与坐标系之间的旋转.用欧拉角表示坐标系的旋转时存在两种旋转方法,另外旋转的顺序也会对旋转结果有影响,查了一些资料总结一下结果.   描述坐标系B ...

  8. fib matlab,基于MATLAB的FIB制备三维原子探针样品过程的模拟方法与流程

    本发明属于FIB加工领域,尤其是涉及一种基于MATLAB的使用聚焦离子束(FIB)进行三维原子探针(APT)样品加工过程的模拟方法. 背景技术: APT可以定量的给出材料中不同元素原子在三维空间中的分 ...

  9. VTK可交互三维坐标轴

    因为实习工作需要制作一个如下图所示的可交互的三维坐标轴,制作这个坐标轴,首先需要创建一些三维图形,接着需要熟悉交互模块和鼠标进行交互,最后将它们封装成一个vtkWidget类 VTK中一些基础类介绍 ...

最新文章

  1. 2020-12-01 Halcon初学者知识[1] 初始界面
  2. 网络数据的大小端问题
  3. HDU - 3966 Aragorn's Story(树链剖分+线段树)
  4. 请求地址出现不明的字符%E2%80%8E(Zero-Width Space)
  5. git reset后本地拉取_一份值得收藏的 Git 异常处理清单
  6. AutoCAD2004启动时出现fail to get CommcntrController的怎么办
  7. windows java配置_菜鸟教程 windows 配置java的环境变量
  8. OUTLOOK2019 解决 无法验证您连接到的服务器使用的安全证书
  9. jQuery使用ajax错误的重复发送请求的解决办法
  10. wgs-84,gcj-02,bd-09的相互转换,高德,世界测量,百度坐标系的相互转换,坐标系转换
  11. 使用阿里云容器监控服务与第三方监控框架集成搭建自己的容器看板
  12. 微软拒绝修复影响所有 Windows 版本的 “RemotePotatoo” 提权0day
  13. 8255A的工作方式控制字
  14. 2019年7月28日解决战网BLZBNTBNA00000005BLZBNTBNA00000006BLZBNTBTS0000005DBLZBNTBTS0000004A 007D0 008A4 00840
  15. 元胞自动机概念与实例
  16. 用luac给lua脚本加密
  17. 估值择时对ETF基金定投的影响
  18. OpenCV/Python/dlib眨眼检测
  19. EXCEL的VLOOKUP匹配失败是什么原因呢
  20. 用户生命周期价值及产品运营策略

热门文章

  1. Color Constancy 色彩恒常性(1)White Patch Retinex
  2. 怎样架设游戏服务器 怎样搭建一个属于自己的游戏服 5分钟学会游戏架设 3D手游搭建视频教程 自己做游戏GM
  3. 从零搭建游戏服务器,拢共分几步?
  4. MATLAB:预设矩阵的大小与不预设的时间差距
  5. anaconda and jupyterhub 配置部署
  6. Java反射获取类,方法
  7. 使用hutool生成excel遇到的问题:
  8. 六类网线钳能压五类水晶头吗_一分钟自制高质量水晶头,如何区分超5类水晶头与6类水晶头?...
  9. 文档级关系抽取:A Densely Connected Criss-Cross Attention Network for Document-level Relation Extraction
  10. R语言第十讲 逻辑斯蒂回归