我有一个坐标为 x1,x2,x3 的点。
需要绕通过点(0,0,0)和(Lx,Ly,Lz)的轴旋转该点θ角(从点(Lx,Ly)看应该是顺时针旋转,Lz))
给定 x1,x2,x3,Lx,Ly,Lz,Theta;我如何计算这个旋转?
首先,标准化轴向量:
m = sqrt(Lx*Lx + Ly*Ly + Lz*Lz)
x = Lx / m
y = Ly / m
z = Lz / m
则旋转矩阵为:
t*x*x + c t*x*y - z*s t*x*z + y*s
t*x*y + z*s t*y*y + c t*y*z - x*s
t*x*z - y*s t*y*z + x*s t*z*z + c
其中
c = cos(theta)
、s = sin(theta)
和 t = 1- c
。
最后,将该矩阵乘以列向量
(x1, x2, x3)
。
是你想要的吗?