私は十二面体を持っているThree.js場面を作ろうとしています。私は十二面体の片側をカメラで拡大し、ボタンを押したときにズームアウトし、別の側に立つまで回転してから再びズームインします。十二面体を回転する
これを明確にするには:カメラが完全に側1にズームアップされるだろうと私は「5」を押した場合
、私はカメラをズームアウトしたいと思うが - 十二面体を示す - そして5に向けて回転させる(または十二面体がカメラの方を向くように回転させますか?)、再びズームインしてください。カメラは常に上または他の回転ではなく、直面している五角形の底面と平行に設定することが重要です。
あまりにも複雑すぎないように、私は立方体で始めるのが賢明だと思っていました。私はいくつかの基本的な動きを説明するためにいくつかのトゥイーン(Gを押すと)を追加しましたが、それはもはやフィドルでは良く見えません。 jsfiddle
私はこの動きをすべて計算して計算する必要があるように感じましたので、最初に各サイドビューが立方体から持っていた各位置と回転を書き留めてみました。 I 缶私がキューブのために書いた値のいくつかのパターンを見てください。しかし、私は十二面体のために、これを動作する関数に変換する方法を知らない。私の注目値は
side1 (0, 0, 600) (0, 0, 0)
side2 (600, 0, 0) (0, pi/2, 0)
side3 (0, 0, -600) (0, pi, 0);
side4 (-600, 0, 0) (0, -pi/2, 0);
side5 (0, 600, 0) (-pi/2, 0, 0);
side6 (0, -600, 0) (pi/2, 0, 0);
ある私は再発のいくつかの並べ替えが起こって、いくつかの関係を見ることができますが、私は機能でそれらをリンクする方法を見ていないでしょう。私は、それが同じように機能するが、より複雑な形になるための最初のステップと考えています。誰かが私が今見ていなければならない方向に私を導くことができますか?私はもちろんif節をたくさん使うことができるので、それは正しい方法ではありません。
こんにちは、私は[jsfiddle](https://jsfiddle.net/craigli/adn8z07e/1/)を作ったが、それは 'keydown'イベントがjsfiddleでうまく動作しないようだが、コードをエクスポートして見て、いくつかの奇妙なバグがある、私は明日に考え出すつもりです。 –
うわー、それは多くのコードが追加されている。私は、誰かがこれを行うか、ヒントを伝えるの正しい道に私を導くことを期待しました。あなたが選んだ選択について詳しく説明できますか?何が起こっているのかが分かっているので、なぜそれが働くのか理解できません。 – Kevin
この質問は非常に面白いので、私は自分で試しました。しかし、私はバグを理解していない、私は私のアイデアを共有する、私はバグを修正し、私は完全な説明をするために私のポストを更新するだろう。 –