绕任意轴旋转矩阵推导

设: 
An为A绕N(单位向量)旋转a得到向量

A1为A在N上的投影向量          
A1 = (A*N)N

A2为A在N上的垂线向量         
A2 = A - A1 
= A - (A*N)N

A3为同时垂直A2和N的向量
A3 = A2xN  
= (
A -  A1 )xN
= AxN - 0(因为A1与N平行,所以结果为0,  由于axb = |a||b|sin(ab夹角),  此时A2,A3
的模相等 )  

A4为A2绕N旋转a得到的向量 
(因为A2,A3,A4的模相等...)   
A4 = A2 cos(a) + A3 sin(a)
= (
A - (A*N)N)  cos(a) + (A xN)  sin(a)

An = A1 + A4

(A*N)N +  ( A - (A*N)N)  cos(a) +  (A xN)  sin(a)

然后是转换到矩阵的推导了,
要写成A*TM = An的形式
1,<3d数学基础图形与游戏开发>上是分别让A取3个基向量推导出向量p q r(这里是行矩阵)
图片
2,网上有另一种的方式,靠分离出A(这里是列矩阵)
图片

猜你喜欢

转载自blog.csdn.net/u010400998/article/details/80639276
今日推荐