衝突処理の実装ログ

いきなり球と箱の衝突判定はしんどいので、簡単な方から段階的に作成することにする。
一番単純なのは「点と線」だが、厚みがないので線上で点を止めることになり、それはそれで問題が生じる(どちら側から接しても線上に来るので、線上にいるときにどちらから来たかの判定が出来ない)。なので、「円と線」から始める。


今回考えるゲームではブロックが動かないので、「動く円」と「止まっている線」の衝突。ただ、これは相対化すれば動いていても同じこと。
相対化を進めて、「動く円と、線の衝突」から「動く点と、厚みのある丸角の線の衝突」で考える。


やり始めて途中で気付いたが、先にコメントで流れを書いておいて、それに沿ってコードを書いた方が楽かもしれない。


結局、ベクトル計算は自前でやることにした。しかし、基本オペレータで書けないとここらへんの処理は苦しい。というか見づらい。コメントで全部並列して書いておくべきだったかも。拡張するときにそれはやろう。


「端への衝突」がまだ不完全な段階で今日は終了。汚いコードを載せてもあまり意味はなさそうなので、明日綺麗にしてから載せる。明日の予定は「円と線の衝突処理の完成」「コードを綺麗に書き直す」「球と面の衝突への拡張」。最後のは時間的に無理かな。