ゲームつくろ〜質問箱
(現在 過去ログ1 を侮ヲ中)

HOME HELP 新規作成 新着記事 トピック侮ヲ 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■186 / inTopicNo.1)  2つのベクトルが作る角度について
  
□投稿者/ non -(2007/09/26(Wed) 15:01:57)
    2つのベクトルの角度を0から2PAIの範囲で求めたいと思っています。
    内積->アークコサインだけでは足りないですよね。。
    360度全周をカバーするにはどうしたら良いのでしょう?



引用返信 削除キー/
■187 / inTopicNo.2)  Re[1]: 2つのベクトルが作る角度について
□投稿者/ IKD -(2007/09/26(Wed) 21:14:17)
http://marupeke296.com
     nonさん、ご質問頂きましてありがとうございます。

     2Dの場合お話は簡単です。基準ベクトルAとBの内積と外積をそれぞれ取ると、どの象限(グラフの右上、左上、左下、右下の位置)にいるかすぐにわかるので、そこから0〜2πを導けます。具体的には内積から0〜πを、外積の符号から0〜πもしくはπ〜2πを判断します。

     一方、お話が3Dになるとかなり制約が必要になります。3Dの場合前提として基準ベクトルと回転軸が必須です。これは基準ベクトルが回転軸によって回転してもう一方のベクトルになる事を意味します。3Dなんですが2Dのような概念です。

     基準ベクトルをA、もう一方のベクトルをBとします。この時回転軸をAとBの外積で求めたくなるのですが、それはうまくいきません。外積だとπ以上で方向が反転してしまうためです。つまり回転軸は空間に対して絶対にしないといけないわけです。

     上の条件が揃っている時、AとBの内積を取ると-1〜+1が出てきます。このacosを取ると0〜πに変換されます。続いてAとBの外積を取ってベクトルCを求めます。このベクトルCは回転軸と同じ方向を向くか、真反対になるかのどちらかです。もし同じ方向なら0〜πの範囲です。これが真反対になったらπ〜2πの間であると判断できます。同じか反対かはCとRの内積を取って符号で判断できます。
引用返信 削除キー/
■188 / inTopicNo.3)  Re[2]: 2つのベクトルが作る角度について
□投稿者/ non -(2007/09/27(Thu) 13:09:39)
    こんにちは。今回は高さ(Y軸ベクトル)を無視した仕様だったので2Dの方でいただいたアドバイスで実装できました。
    ゲームプログラミングを始めるまで人生で数学が役立つと思っていませんでしたが便利ですね。
    ちなみにこのサイトは高レスポンスで的確なアドバイスをいただけるので数学以上に便利です:)

    ありがとうございました。

済!
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック侮ヲ 検索 過去ログ

- Child Tree -