我还附上了示意图来描述我的问题。
我需要将矢量V与基点P旋转一个角度,然后找到新的矢量V'。
说旋转轴围绕点P上的局部y轴(与全局Y轴平行)
随后,我需要绕着与全局Y轴平行的x轴旋转初始向量V。
旋转的主要原因是在点P处找到新的矢量V'。这两个旋转都是独立的,并且每个旋转都提供一个新的V'。我正在VB.net中对此进行编程,输出是新向量V'的double()。
答案 0 :(得分:0)
只需单独应用两个旋转(请参阅Wikipedia)。基点对此没有任何作用,因为它只是一个永不变的偏移量。如果我对您的描述正确无误,那么您需要执行以下操作:
//rotation about y-axis
iAfterRot1 = cos(phi1) * i + sin(phi1) * k
jAfterRot1 = j
kAfterRot1 = -sin(phi1) * i + cos(phi) * k
//rotation about x-axis
iAfterRot2 = iAfterRot1
jAfterRot2 = cos(phi2) * jAfterRot1 - sin(phi2) * kAfterRot1
kAfterRot2 = sin(phi2) * jAfterRot1 + cos(phi2) * kAfterRot1