matlab中的三维坐标系与旋转

更新时间:2023-06-04 14:08:20 阅读: 评论:0

matlab中的三维坐标系与旋转
1. matlab中的三维坐标系
matlab中的三维坐标系是使⽤的右⼿坐标系;
输⼊以下代码:
>> plot3(0,0,0)
>> xlabel('axis X')
>> ylabel('axis Y')
以夜继日
>> zlabel('axis Z')
可以看出是个很明显的右⼿坐标系。
2. matlab中的欧拉⾓和四元数旋转
euler angles ----> quaternion ----> dcm ---->rotation
冬季开花的植物MATLAB中欧拉⾓旋转基本遵循以上步骤,欧拉⾓、四元数、旋转矩阵之间是可以相互转换的,具体可以参见help⽂档中的Aerospace Toolbox ----> Functions ----> Axes ----> Axes Transformations中查看。
假设我在三维坐标系中有⼀向量r,绕Z轴旋转90度,结果为:
clo all;
clear;
史上最冷又短的冷笑话clc;
r = [011];
% 默认的旋转顺序是ZYX,所以[9000]表⽰绕Z轴旋转90度
angle = [9000] * pi / 180;
quaternion = angle2quat(angle(1),angle(2),angle(3));
n = quatrotate(quaternion,r)
结果:
n =
1.0000    0.0000    1.0000
原始向量在YZ平⾯上[0 1 1],旋转后的平⾯在XZ的平⾯上[1 0 1],可以看出从Z轴的正⽅向来看,顺时针旋转;
再次验证:风吹过的街道
社保补缴新规定clo all;
clear;
clc;
r = [011];
% 默认的旋转顺序是ZYX,所以[00 -90]表⽰绕X轴旋转90度社交场合
angle = [00 -90] * pi / 180;
quaternion = angle2quat(angle(1),angle(2),angle(3));
n = quatrotate(quaternion,r)
结果:
n =
0  -1.0000  1.0000
结论:MATLAB中的默认坐标系是右⼿坐标系,且进⾏欧拉⾓旋转时,顺着轴的正⽅向来看,顺时针⽅向为正,逆时针⽅向为负。
寓言的意思
另外,MATLAB⾃带rotate函数,解释如下:
rotate
Rotate object in specified direction
西葫芦丝饼Syntax
rotate(h,direction,alpha)
rotate(...,origin)
Description
The rotate function rotates a graphics object in three-dimensional space, according to the right-hand rule.
rotate(h,direction,alpha) rotates the graphics object h by alpha degrees. direction is a two- or three-element vector that describes the axis of rotation in conjunction with the origin. rotate(...,origin) specifies the origin of the axis of rotation as a three-element vector. The default origin is the center of the plot box.
此旋转函数可选择三维空间中的图像,遵循右⼿坐标系,顺着轴的正⽅向来看,且逆时针⽅向为正,顺时针⽅向为负。

本文发布于:2023-06-04 14:08:20,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/860888.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:旋转   坐标系   遵循   欧拉
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图