早教吧作业答案频道 -->其他-->
请问,三维向量a(a1,a2,a3)逆时针围绕三维向量b(b1,b2,b3)转X度之后,如何计算得到的新向量?
题目详情
请问,三维向量a(a1,a2,a3)逆时针围绕三维向量b(b1,b2,b3)转X度之后,如何计算得到的新向量?
▼优质解答
答案和解析
当然是可以的,只不过很繁,方法有二.
首先我认为b(b1,b2,b3)是单位向量,若不是先化成单位向量,以下都是按单位向量计算.
法一:
设得到的向量是c(c1,c2,c3).他满足三个条件.
1、dot(c,b)=dot(a,b)
2、=x
3、|c|=|a|
应用这三个条件,列方程就可以解出c,但是很繁的.
(注:其中dot表示点乘,cross表示叉乘,表示两向量夹角,||表示求向量长度)
法二:
先把坐标系做一个变换,使得b向量成为新坐标系中的z轴,再来做旋转x度的变换,之后再变换回去就得到了c向量.
设构造的一个A矩阵,它是正交矩阵,它是坐标变换的矩阵.
那么a向量变过去成为a'=Aa,
在做旋转变换,设T是旋转x度的变换矩阵.旋转后变作a''=TAa.
在变回去 c=a'''=A'TAa
总之c=A'TAa
其中:
c=
[c1
c2
c3]
;
a=
[a1
a2
a3]
;
A =
[ b2/(b2^2+b1^2)^(1/2),-b1/(b2^2+b1^2)^(1/2),0]
[ b1/(b2^2+b1^2)^(1/2)*b3,b3*b2/(b2^2+b1^2)^(1/2),(b3^2-1)/(b2^2+b1^2)^(1/2)]
[ b1,b2,b3]
;
T=
[ cos(x),-sin(x),0]
[ sin(x),cos(x),0]
[ 0,0,1]
如果要表示具体的结果很烦的,这个形式还算是简洁了.
我用matlab算了一下,结果很繁.
把 各矩阵代入得
c=
[c1
c2
c3]
=
[ (a1*b2^2*cos(x)+a1*b1^2*b3^2*cos(x)+a1*b1^2*b2^2+a1*b1^4-b1*a2*b2*cos(x)-a2*b3*sin(x)*b1^2-a2*b3*b2^2*sin(x)+a2*b3^2*b2*b1*cos(x)+b1*a2*b2^3+b1^3*a2*b2-a3*b2*sin(x)*b3^2+a3*b2*sin(x)+a3*b1*b3^3*cos(x)-a3*b3*cos(x)*b1+a3*b1*b3*b2^2+a3*b1^3*b3)/(b2^2+b1^2)
(-a1*b1*b2*cos(x)+a1*b3*b2^2*sin(x)+a1*b3*sin(x)*b1^2+a1*b3^2*b2*b1*cos(x)+a1*b1*b2^3+a1*b1^3*b2+a2*b1^2*cos(x)+a2*b3^2*b2^2*cos(x)+a2*b2^4+a2*b2^2*b1^2+a3*b1*sin(x)*b3^2-a3*b1*sin(x)+a3*b3^3*b2*cos(x)-a3*b3*b2*cos(x)+a3*b3*b2^3+a3*b3*b2*b1^2)/(b2^2+b1^2)
(a1*b2*sin(x)*b3^2-a1*b2*sin(x)+a1*b1*b3^3*cos(x)-a1*b1*b3*cos(x)+a1*b1*b3*b2^2+a1*b1^3*b3-a2*b1*sin(x)*b3^2+a2*b1*sin(x)+a2*b3^3*b2*cos(x)-a2*b3*b2*cos(x)+a2*b3*b2^3+a2*b3*b2*b1^2+a3*cos(x)*b3^4-2*a3*b3^2*cos(x)+a3*cos(x)+a3*b3^2*b2^2+a3*b1^2*b3^2)/(b2^2+b1^2)]
首先我认为b(b1,b2,b3)是单位向量,若不是先化成单位向量,以下都是按单位向量计算.
法一:
设得到的向量是c(c1,c2,c3).他满足三个条件.
1、dot(c,b)=dot(a,b)
2、=x
3、|c|=|a|
应用这三个条件,列方程就可以解出c,但是很繁的.
(注:其中dot表示点乘,cross表示叉乘,表示两向量夹角,||表示求向量长度)
法二:
先把坐标系做一个变换,使得b向量成为新坐标系中的z轴,再来做旋转x度的变换,之后再变换回去就得到了c向量.
设构造的一个A矩阵,它是正交矩阵,它是坐标变换的矩阵.
那么a向量变过去成为a'=Aa,
在做旋转变换,设T是旋转x度的变换矩阵.旋转后变作a''=TAa.
在变回去 c=a'''=A'TAa
总之c=A'TAa
其中:
c=
[c1
c2
c3]
;
a=
[a1
a2
a3]
;
A =
[ b2/(b2^2+b1^2)^(1/2),-b1/(b2^2+b1^2)^(1/2),0]
[ b1/(b2^2+b1^2)^(1/2)*b3,b3*b2/(b2^2+b1^2)^(1/2),(b3^2-1)/(b2^2+b1^2)^(1/2)]
[ b1,b2,b3]
;
T=
[ cos(x),-sin(x),0]
[ sin(x),cos(x),0]
[ 0,0,1]
如果要表示具体的结果很烦的,这个形式还算是简洁了.
我用matlab算了一下,结果很繁.
把 各矩阵代入得
c=
[c1
c2
c3]
=
[ (a1*b2^2*cos(x)+a1*b1^2*b3^2*cos(x)+a1*b1^2*b2^2+a1*b1^4-b1*a2*b2*cos(x)-a2*b3*sin(x)*b1^2-a2*b3*b2^2*sin(x)+a2*b3^2*b2*b1*cos(x)+b1*a2*b2^3+b1^3*a2*b2-a3*b2*sin(x)*b3^2+a3*b2*sin(x)+a3*b1*b3^3*cos(x)-a3*b3*cos(x)*b1+a3*b1*b3*b2^2+a3*b1^3*b3)/(b2^2+b1^2)
(-a1*b1*b2*cos(x)+a1*b3*b2^2*sin(x)+a1*b3*sin(x)*b1^2+a1*b3^2*b2*b1*cos(x)+a1*b1*b2^3+a1*b1^3*b2+a2*b1^2*cos(x)+a2*b3^2*b2^2*cos(x)+a2*b2^4+a2*b2^2*b1^2+a3*b1*sin(x)*b3^2-a3*b1*sin(x)+a3*b3^3*b2*cos(x)-a3*b3*b2*cos(x)+a3*b3*b2^3+a3*b3*b2*b1^2)/(b2^2+b1^2)
(a1*b2*sin(x)*b3^2-a1*b2*sin(x)+a1*b1*b3^3*cos(x)-a1*b1*b3*cos(x)+a1*b1*b3*b2^2+a1*b1^3*b3-a2*b1*sin(x)*b3^2+a2*b1*sin(x)+a2*b3^3*b2*cos(x)-a2*b3*b2*cos(x)+a2*b3*b2^3+a2*b3*b2*b1^2+a3*cos(x)*b3^4-2*a3*b3^2*cos(x)+a3*cos(x)+a3*b3^2*b2^2+a3*b1^2*b3^2)/(b2^2+b1^2)]
看了请问,三维向量a(a1,a2,...的网友还看了以下:
若集合A1,A2满足A1∪A2=A,则称(A1,A2)为 集合A的一种分拆,并规定:当且仅当A1= 2020-05-15 …
设|A|是三阶矩阵,A=(a1,a2,a3)则|A|=?A.|a1-a2,a2-a3,a3-a1| 2020-05-16 …
定义:a是不为1的有理数,我们把1-a分之1称为a的差倒数.已知a1=负3分之1,a2是a1的差倒 2020-05-16 …
设向量组a1,a2,a3的r(a1,a2,a3)=3,a4能由a1,a2,a3线性表示,a5不能由 2020-06-06 …
已知an是各项均为正数的等比数列a1+a2=2(a1分之1+a2分之1),a2+a3+a4=64( 2020-07-09 …
如图,一段抛物线:y=-x(x-2)(0≤x≤2)记为C1,它与x轴交于两点O,A1;将C1绕A1 2020-07-09 …
问一道数学归纳题!已知对于任意正数a1,a2,a3,有不等式已知对于任意正数a1,a2,a3,有不 2020-07-26 …
设a1,a2,a3,a4是齐次线性方程组Ax=0的一个基础解系,则下列向量组中不再是Ax=0的基础 2020-08-02 …
如图,一段抛物线:y=-x(x-2)(0≤x≤2)记为C1,它与x轴交于两点O、A1;将C1绕A1旋 2020-10-31 …
证明:构造函数f(x)=(x-a1)^2+(x-a2)^2f(x)2x^2-2(a1+a2)x+a1 2020-12-31 …