ある点から2つのベクトルが出てて、3つめのベクトルの位置を調べる

ベクトルA, Bがある点から出てる時に、ある点から出ているベクトルCがA, Bとどういう位置関係にあるか調べたい

今回はθABが180度以内に限って考えてよかったので

θAC、θCB、θABを求めて

  • θABよりθACが出かければベクトルCはベクトルBより右側
  • θABよりθCBが出かければベクトルCはベクトルAより左側
  • そうでなければベクトルCはベクトルA, Bの間にある

という事に落ち着いたというメモ

Math.acos( ( v1.x * v2.x + v1.y * v2.y ) / ( Math.sqrt ( Math.pow( v1.x, 2 ) + Math.pow( v1.y, 2 ) ) * Math.sqrt ( Math.pow( v2.x, 2 ) + Math.pow( v2.y, 2 ) ) ) );

のような関数で2ベクトル間の角度を出した。