回転する四角形同士の当たり判定について
Posted: 2012年9月07日(金) 00:06
http://www.c3.club.kyutech.ac.jp/gamewi ... ontent_1_5
此方のサイトを参考にして四角形のクラスを作っていたのですが、
「四角形を形成する5つの点がそれぞれ判定したい四角形の範囲にあるかないかで四角形同士の衝突を判断する」
という感じの内容なのですが、
・極端な長方形同士の場合、その四角形の中に新しく点を作成してそれを使って判定する
という解説に理解できますが、納得が行きません。
それこそ、四角形を形成する4つの辺のそれぞれが、判定したい四角形のそれぞれの辺に触れていないか
というほうが綺麗だと思うのですが、これではどちらかが片方を完全に内包した時に判定ができません。
①また、解説の一部がよくわからないのですが
>さて、ここで問題なのが三角形の法線を取得しないといけないと言うことです。
>四角形の場合は簡単にもとまりますよね。点と点を取ってその座標を引けば求まります。
>ですが、三角形の場合は外積を使って求めます。
法線というのはある直線から伸びる垂直な直線(90度)であって、点から伸びるようなものではないと思うのですが、
四角形の対角線の交点と、各辺の最短距離を結ぶ線ということなのでしょうか?
②360度回転する四角形と点で、もっとわかりやすい判定方法はないですか?
片方の四角形の回転分だけもう片方が回転したと想定したローカル座標で点を判定するというのも思いついたんですが、実用的なのかよくわからないです。
もっと言えば、
・回転する四角形と点の判定
・辺と辺の判定
を両方すれば確実に判定できるとは思うのですが、
③他に綺麗な定式はないのでしょうか?
偉そうに質問に番号を振ってしまいましたが、答えてもらえたら幸いです。
此方のサイトを参考にして四角形のクラスを作っていたのですが、
「四角形を形成する5つの点がそれぞれ判定したい四角形の範囲にあるかないかで四角形同士の衝突を判断する」
という感じの内容なのですが、
・極端な長方形同士の場合、その四角形の中に新しく点を作成してそれを使って判定する
という解説に理解できますが、納得が行きません。
それこそ、四角形を形成する4つの辺のそれぞれが、判定したい四角形のそれぞれの辺に触れていないか
というほうが綺麗だと思うのですが、これではどちらかが片方を完全に内包した時に判定ができません。
①また、解説の一部がよくわからないのですが
>さて、ここで問題なのが三角形の法線を取得しないといけないと言うことです。
>四角形の場合は簡単にもとまりますよね。点と点を取ってその座標を引けば求まります。
>ですが、三角形の場合は外積を使って求めます。
法線というのはある直線から伸びる垂直な直線(90度)であって、点から伸びるようなものではないと思うのですが、
四角形の対角線の交点と、各辺の最短距離を結ぶ線ということなのでしょうか?
②360度回転する四角形と点で、もっとわかりやすい判定方法はないですか?
片方の四角形の回転分だけもう片方が回転したと想定したローカル座標で点を判定するというのも思いついたんですが、実用的なのかよくわからないです。
もっと言えば、
・回転する四角形と点の判定
・辺と辺の判定
を両方すれば確実に判定できるとは思うのですが、
③他に綺麗な定式はないのでしょうか?
偉そうに質問に番号を振ってしまいましたが、答えてもらえたら幸いです。