1

OpenGLビューに立方体があり、立方体の外側に触れると回転できます。これで、立方体のどちら側に触れたかを検出でき、タッチ動作がどちら側に向かっているのかを調べようとしています。したがって、上面に触れると、移動は立方体の左側、右側、前面、または背面に向かって進む可能性があります。これを行う場合、立方体の向きは何でもかまいません。

それを理解した後、正しい軸を中心に回転させます。

これを実装する方法についてのアイデアが必要です。

編集:これが私がやろうとしていることの大まかな例です。申し訳ありませんが、説明が苦手です。

緑のものは赤い側に触れている指です。矢印は、指が動いている方向を示しています。青側(2)に向かって移動しているので、2に戻るはずです。緑側(1)に向かって移動すると、1に戻ります。

4

1 に答える 1

3

アプローチは次のとおりです。

スワイプして指を上に持ち上げると、画面スペースにptBeginとptEndの2つの2Dポイントが表示されます。これらを3Dに変換すると(3D座標を取得するにはgluUnprojectと同等の処理を行う必要があります)、キューブの座標系で3D座標ptBegin3DとptEnd3Dを取得します。

ベクトルD=ptEnd3D--ptBegin3Dを計算します。

ここで、立方体の面の法線(0、0、1)、(1、0、0)などを使用して上記の内積を実行すると、値から、どの立方体の面に向かっているのかがわかります。

于 2012-08-09T02:02:41.800 に答える