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

本文介绍了MATLAB中的三维坐标系是右手坐标系,并通过实例详细阐述了如何使用欧拉角和四元数进行三维旋转,包括旋转向量和旋转矩阵的转换,以及rotate函数的使用方法。
摘要由CSDN通过智能技术生成

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度,结果为:

close all;

clear;

clc;

r= [0 1 1];% 默认的旋转顺序是ZYX,所以[90 0 0]表示绕Z轴旋转90度

angle= [90 0 0] * pi / 180;

quaternion= angle2quat(angle(1),angle(2),angle(3));

n= quatrotate(quaternion,r)

结果:

n =

1.0000    0.0000    1.

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值