0
我有一個正常的默認x,y座標系。讓我們打電話給這個Frame1。 我然後使用以下行來創建一個新的框架:在OpenGL中查找另一幀中一幀的點座標
glTranslatef(40, 125, 0);
glRotatef(theta, 0.0, 0.0, 1.0); //theta is in degrees here
glTranslatef(-40, -125, 0);
讓我們把這個式2。
我在Frame2中有一個點(x,y)
。 現在,我如何知道相對於Frame1的同一點的座標? 意思是,該點保持靜止,但它與Frame1的座標是什麼? 我試過了:
alpha = atan2(Y,X);
hypo = Y/sin(alpha);
alphatheta = alpha + theta; //theta is in radians here and so is alpha
newY = hypo * sin(alphatheta);
newX = hypo * cos(alphatheta);
但這不起作用。我想翻譯有一些差異,因爲旋轉是在(40,125)附近完成的,而不是原點。
那麼,我該如何找出newX和newY?如果我在Frame1中繪製(newX,newY),我應該從Frame2得到與(X,Y)相同的點。
或者,我甚至可以用這種方式提問, 如果圍繞某個點(a,b)旋轉角度theta,相同的東西將圍繞原點旋轉多少?
感謝秩序的重要性answer..The乘法不能太強調.. – rasalghul