Octave的几何函数中还包括用于在三维空间中实现向量旋转的基元函数。为绕每个主轴旋转提供了单独的函数,x,y和z根据欧拉旋转定理,任意旋转,R,任意向量的,p,可以表示为三个主要旋转的乘积:
p' = Rp = Rz*Ry*Rx*p
T=
rotx (angle)
¶
rotx
返回与指定的向量围绕x轴的活动旋转相对应的3x3变换矩阵angle,给定indgrees,其中当从正x侧观察y-z平面时,正角度对应于逆时针旋转。
变换矩阵的形式为:
|1 0 0|T=|0 cos(anglesinangle)||0 sin(angle)cos(angle) |
当作用于列向量时,此旋转矩阵旨在用作左乘法矩阵,使用符号v=T*u
例如,u,沿正y轴指向,绕x轴旋转90度,将导致向量沿正z轴指向:
>> u = [0 1 0]' u = 0 1 0 >> T = rotx (90) T = 1.00000 0.00000 0.00000 0.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 >> v = T*u v = 0.00000 0.00000 1.00000
T=
roty (angle)
¶
roty
返回与指定的向量围绕y轴的活动旋转相对应的3x3变换矩阵angle,给定indgrees,其中当从正y侧观察z-x平面时,正角度对应于逆时针旋转。
变换矩阵的形式为:
|cos(angle)0sin恶(angle)|T=|0 1 0||-sin(angle)0 cos(angle) |
当作用于列向量时,此旋转矩阵旨在用作左乘法矩阵,使用符号v=T*u
例如,u,沿正z轴指向,绕y轴旋转90度,将导致向量沿正x轴指向:
>> u = [0 0 1]' u = 0 0 1 >> T = roty (90) T = 0.00000 0.00000 1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000 0.00000 >> v = T*u v = 1.00000 0.00000 0.00000
T=
rotz (angle)
¶
rotz
返回与指定的向量绕z轴的活动旋转相对应的3x3变换矩阵angle,给定indgrees,其中当从正z侧观察x-y平面时,正角度对应于逆时针旋转。
变换矩阵的形式为:
|cos(anglesinangle)0|T=|sin(angle)cos(angle) 0 | | 0 0 1 |
当作用于列向量时,此旋转矩阵旨在用作左乘法矩阵,使用符号v=T*u
例如,u,沿正x轴指向,绕z轴旋转90度,将返回沿正y轴指向的向量:
>> u = [1 0 0]' u = 1 0 0 >> T = rotz (90) T = 0.00000 -1.00000 0.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000 >> v = T*u v = 0.00000 1.00000 0.00000
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2