gluSphere
惑星が太陽の周りを回るように、円運動で定点を中心に回転させたい。
glRotatef または glTranslate を使用するのが最善でしょうか? もしそうなら、どの順番でそれらを呼び出す必要がありますか?
両方を少し行う必要があります。
gluSphere
。これにより、球に対して前方に移動すると、その軌道の中心に近づきます。glTranslatef
gluSphere
回転させたいポイントまで進むglRotatef
球を周回させたい方向glTranslatef
前進した分だけ後退そうすれば、球体は中心から同じ距離にとどまりますが、適切な軌道で「周り」に移動します。
中心から離れて平行移動し、最後まで回転します
glRotatef は、現在の行列に回転行列を掛けます。これは(正しいベクトルが与えられれば)あなたが試みていることをすることができます。
glTranslatef は、現在の行列に平行移動行列を乗算します。これは、オブジェクトを回転させるのではなく、効果的に「移動」させるため、目的の行列にはなりません。