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.