基本的に、OpenGL と C++ を使用した複数のポイントでの回転の問題に関して、ここで少し混乱しました。
(42,42) と (-42,42) の回転点で単純な長方形を回転させる方法は? 私のボックスは点 (46,0) から (46,42) に移動し、回転点 (42,42) で (42,46) に +90 度回転します (他の 3 つの点は相対的であるため、ここでは説明しません)最初のポイントまで)。
次に、ボックスが (42,46) から (-42,46) に移動し、(-42,42) で単純な 90 度になります。最後に、ボックスがポイント (-46,42) に移動します。(-46,42) から (-46,0) に移動します。
glPushMatrix()
、glTranslatef(42,42,0)
、glRotatef(theta2, 0.0, 0.0, 1.0)
、を使ってみましたglTranslatef(-42,-42,0)
。しかし、それは回転の最初のポイントでしか機能しませんでした。次の回転ポイントでは、機能していないようでした。この問題を解決するための代替手段はありますか?