将光标移到/点击文章中的句子上,可以查看译文。      显示繁体中文内容    显示简体中文内容

Determine rotation angles from one plane to another
确定从一个平面到另一个平面的旋转角度

Let's have 2 vectors v1, v2 in a 3D space.v1 and v2 belongs to 2 different planes P1,P2.v1 and v2 intersect at point p(xp,yp,zp) v1:p-> a and v2:p-> b where a(xa,ya,za) and b(xb,yb,zb) are 2 known points in P1 and P2 respectively.the angle"theta"between P1 and P2 is known and could be computed using the three points p,a,b

Here is my question : i need to know which rotation should i apply to v1 in order to coincide with v2?in other words : v1 is defined by a start point p(xp,yp,zp) and a direction (alpha,beta,gamma) v1: [xp,yp,zp,alpha,beta,gamma].v2 is defined by the same start point p(xp,yp,zp) and a direction (alpha1,beta1,gamma1) v2 [xp,yp,zp,alpha1,beta1,gamma1] so which modification to alpha,beta, and maybe gamma should be done to get alpha1, beta1, and however gamma1

Thanks in advance

Lara

时间: 作者:

Look like you want to find out the rotation matrix [M] so that {v2} = [M] {v1}, where both {v1} and {v2} are unit vectors of 3 x1 and [M] is a 3 x3 matrix.you can refer to the Wikipedia page for Rotation Matrix here.Scroll down to the section"Rotation Matrix from axis and angle", where it shows the rotation matrix about a given axis by a given angle.for your case, the axis will be the cross product vector v1 X v2 and the angle will be the angle between v1 and v2, which can be obtained as acos( v1 dot v2 ).

原作者:
...