トップページに戻る
 
file Re: 次期Shadeに望むもの ( No.44 )
日時: 2003/07/21 03:00
名前: 平山
参照: http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/

>「腕を横に水平に上げ、そのまま前に持ってきた状態」と
>「腕を前に上げ、90度捻った状態」は見た目には同じになりますけど
>オイラーだと、状態が異なっているんです。
>つまりA→B→C→DとA→C→B→Dは違う状態になっているのだと思います。

オイラー角だと、回転の順番によって結果が変わりますが、
そのことでしょうか?たとえば
X軸中心に20度回転させて、Y軸中心に30度回転させた結果と
Y軸中心に30度回転させて、X軸中心に20度回転させた結果は違ってきます。
回転ジョイントの階層構造が

□X軸回転ジョイント
    □Y軸回転ジョイント
        □Z軸回転ジョイント

となってる場合と、

□Z軸回転ジョイント
    □Y軸回転ジョイント
        □X軸回転ジョイント

となってる場合では、同じオイラー角でも、結果が違ってくるってことですね。
で、回転運動の方向によっては、この3軸の回転角度を微妙に調整しなければならない場合もあると思います。
クォータニオンだと、この回転の順番を考えなくていいというのも、メリットのひとつですね。
レールのところで書いた

□Y軸回転ジョイント(ヘディング)
    □X軸回転ジョイント(ピッチ)
        □Z軸回転ジョイント(バンク)

は、XZ平面を主に移動するような回転の場合、制御しやすいかなという順番で、
動きの種類によっては、階層構造を変える必要があると思います。

でも、3軸もあるとコントロールしにくいというのは変わらないですね (^^)
で、それならボールジョイントの方がやりやすいという場合もありそうですね。
その場合、可動範囲の指定ができた方がいいと思いますが、

>ジョイステックやポインティングデバイスのように「自由に」動かせるものでも
>一定の限度があります(円錐状の範囲だけですよね)

その円錐のような形を指定することによって、移動範囲を限定することは
可能じゃないかと思います。
インターフェース的には、ボールジョイントの移動可能範囲を球で示して、
移動可能範囲の部分を球表面の色を変えるとか・・・
半透明状態でクイックレンダリングできないとわかりにくいかもしれませんね。
それとその範囲をどうやって指定するかが問題ですね (^^;)