早教吧 育儿知识 作业答案 考试题库 百科 知识分享

已知空间两个向量,求向量夹角,并用向量的方式表示.平面两个向量的夹角,可以用内积来计算.现在空间向量的夹角虽然也可以用内积计算,但算出来的是一个角度.·我在做一个程序,一个小火箭

题目详情
已知空间两个向量,求向量夹角,并用向量的方式表示.
平面两个向量的夹角,可以用内积来计算.
现在空间向量的夹角虽然也可以用内积计算,但算出来的是一个角度.·
我在做一个程序,一个小火箭,有3个函数,x轴旋转,y轴旋转,z轴旋转.现在使用这三个旋转函数,来让向量旋转,所以分别需要x轴的角度,y轴的角度,z轴的角度.下面是问题
·-------------------------------------------
已知点A( ax, ay, az ),点B( bx, by, bz ) 点B上有个小火箭,方向向量是c( cx, cy, cz ),现在想要让向量c旋转,并指向点A, 求旋转的角度( thetax, thetay, thetaz ).
--------------------------------------------
求到这个角度之后我可以用rotatex( thetax ), rotatey( thetay ), rotatez( thetaz )三个函数来实现向量旋转.这个已经做好了.另外函数length()可以求长度,dot()可以求向量内积, ×符号可以求外积,normalize()可以把向量单位化,这些都做好了.
只差角度.
反三角函数也都有.
-------------------------------------------------
如果有描述不清,我会追加提问,在线等您来回答.
▼优质解答
答案和解析
BA向量(bx-ax,by-ay,bz-az)
在xoy平面上旋转,即由(cx,cy,0)转到 (bx-ax,by-ay,0),
角度:arccos((bx-ax,by-ay,0)点乘(cx,cy,0)/|(cx,cy,0)|/|(bx-ax,by-ay,0)|
该角度即为绕Z轴旋转的角度