绕轴旋转
- 定义向量:vec1=(x1,y1,z1,1)
- 定义旋转后的向量:vec2=(x2,y2,z2,1)
- 定义向量长度为:len=∣vec∣
- 定义向量与起始轴的夹角为α∘
- 定义向量绕轴旋转β∘
- c=cos(β)
- s=sin(β)
旋转方向
- 当物体绕 z 轴,从 x 轴正半轴向 y 轴正半轴逆时针旋转时,是正向旋转,反之为负。
- 当物体绕 x 轴,从 y 轴正半轴向 z 轴正半轴逆时针旋转时,是正向旋转,反之为负。
- 当物体绕 y 轴,从 z 轴正半轴向 x 轴正半轴逆时针旋转时,是正向旋转,反之为负。
定义起始轴(弧度为 0)
- 当物体绕 z 轴,x 轴正半轴为起始轴,往 y 轴正半轴为正
- 当物体绕 x 轴,y 轴正半轴为起始轴,往 z 轴正半轴为正
- 当物体绕 y 轴,z 轴正半轴为起始轴,往 x 轴正半轴为正
绕 Z 轴旋转
x2=len×cos(α+β)=len×(cos(α)cos(β)−sin(α)sin(β))=len×cos(α)×cos(β)−len×sin(α)×sin(β)=x1×cos(β)−y1×sin(β)
y2=len×sin(α+β)=len×(sin(α)cos(β)+cos(α)sin(β))=len×sin(α)×cos(β)+len×cos(α)×sin(β)=y1×cos(β)+x1×sin(β)
vec2=c−s00sc0000100001×vec1
绕 X 轴旋转
y2=len×cos(α+β)=len×(cos(α)cos(β)−sin(α)sin(β))=len×cos(α)×cos(β)−len×sin(α)×sin(β)=y1×cos(β)−z1×sin(β)
z2=len×sin(α+β)=len×(sin(α)cos(β)+cos(α)sin(β))=len×sin(α)×cos(β)+len×cos(α)×sin(β)=z1×cos(β)+y1×sin(β)
vec2=10000c−s00sc00001×vec1
绕 Y 轴旋转
z2=len×cos(α+β)=len×(cos(α)cos(β)−sin(α)sin(β))=len×cos(α)×cos(β)−len×sin(α)×sin(β)=z1×cos(β)−x1×sin(β)
x2=len×sin(α+β)=len×(sin(α)cos(β)+cos(α)sin(β))=len×sin(α)×cos(β)+len×cos(α)×sin(β)=x1×cos(β)+z1×sin(β)
vec2=c0s00100−s0c00001×vec1