--
--.--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2009
04.14

線分の交差判定

Category: JAVA
2直線の交点を求めることができたので、線分の交差判定もしてみようかと。

直線の交差判定の方法を、それぞれの線分に対してすれば交差判定はできるはず。
この場合は線分ごとに2回ずつ、外積を合計4回使うことになる。
これまでゲームを作っていた経験では、とくに疑いもせず「外積4回」で線分の交差判定をしていた。

しかし、外積が3回で済む方法があったとは!

プログラムを作ってみると確かに交点が出てくる。
でも納得いかないぞ。なんで、なんで?


まずは外積3回で交点を求める方法。

CrossMath3.png

これで交点が出てきてしまう。
方法だけ見ててもやっぱり納得いかないので、アプレットを作ってみる。





外積で出てくる値を、単なるsinの値だと思い込んでいたのがいけなかった。

実際にプログラムで使うときは、線のどちらにあるかの符号で使うことが多いから
外積値を面積で考えることがなかった。

式を見ると、なるほど確かに横×縦で面積だ。

CrossMath4.png

「面積の比 = 線分の内分比」になっているのがわかってようやく納得。


↓ もっと知りたい人はこちらから!↓
にほんブログ村 写真ブログへ  にほんブログ村 写真ブログ トイデジカメへ

トラックバックURL
http://youfc2.blog10.fc2.com/tb.php/13-f4807a26
トラックバック
コメント
管理者にだけ表示を許可する
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。