ベクトルの外積を使った方法はポピュラーな方法の1つです。
これはボールの角度とブロックの角度を求めてその大小を比較するのと同じことですが、ATANで2つの角度を求めるのではなくベクトルA=(Ax,Ay)、ベクトルB=(Bx,By)の外積A×Bは|A||B|sinθ(θはAから見たBの相対角度を示す)となりますが、これはAx*By-Ay*Bxとなります。
つまり、Ax*By-Ay*Bxを求めれば相対角度が分かるということです。
縦横判定はどちら側にボールがあるのかだけ分かれば良いのでAx*By-Ay*Bxの正負だけ分かれば問題ありません。
つまり単純な減算と乗算だけで済むというわけです。
これがATANを使った方法であれば単純に差分を取ればOKということはなく場合分けも必要となるためベクトルの外積を使った相対角度による判定はかなり有用な方法だと思います。
0そうだね プレイ済み