固定パイプライン OpenGL を使用して、以下のようにオブジェクトを回転させることはできますか? はいの場合 - どうすればこれを行うことができますか? 0,0 点は 3D オブジェクトの角にあります。平行点は既知の量だけ 0,0 点より高いか低い必要があります。オブジェクトの幅も知っています。
ローテーション http://img832.imageshack.us/img832/1686/beztytuurax.png
前もって感謝します。
固定パイプライン OpenGL を使用して、以下のようにオブジェクトを回転させることはできますか? はいの場合 - どうすればこれを行うことができますか? 0,0 点は 3D オブジェクトの角にあります。平行点は既知の量だけ 0,0 点より高いか低い必要があります。オブジェクトの幅も知っています。
ローテーション http://img832.imageshack.us/img832/1686/beztytuurax.png
前もって感謝します。
これは回転ではなくせん断操作であり、アフィン変換であるため、固定関数パイプラインで使用される通常の 4x4 変換行列で表現できます。このような効果は、回転、平行移動、および不均一なスケールの組み合わせによって実現できます。または、シアリング マトリックスを直接指定して、glLoadMatrix/glMultMatrix を介して使用することもできます。
図面では、1 つの軸に沿ってせん断を使用するだけなので、x 座標は同じままです。これは、一般に次のようなマトリックスで行うことができます。
1 0 0 0
v 1 0 0
0 0 1 0
0 0 0 1
これは、x、z、および w をそのままにして、y を y+v*x に変換するため、v がせん断の量を制御します。