線分の交差判定
消しゴムの機能をちゃんと実装しようとするとこういう技術が必要かも、と思ったやつ。
消しゴムの太さを実装しようとすると、もっとエレガントな方法がありそう
太さのある消しゴム
線分ABと線分CDが交差しているかどうかを判定する
同一直線上にあれば交差している
同一直線上にない場合、直線ABで分割した2つの領域に点Cと点Dが1つずつあり、かつ直線CDで分割した2つの領域に点Aと点Bが1つずつあれば交差している
「直線ABで分割した2つの領域に点Cと点Dが1つずつある」とは
ベクトルACとCBの外積と、ベクトルADとDBの外積の符号がそれぞれ異なること
参考記事
第7回 (臨時回)線分の交差判定再訪 :Blogopolisから学ぶ計算幾何|gihyo.jp … 技術評論社
第6回 多角形の幾何(前編):Blogopolisから学ぶ計算幾何|gihyo.jp … 技術評論社
https://stackoverflow.com/questions/563198/how-do-you-detect-where-two-line-segments-intersect
これは上記のやり方とは別だけど、わかりやすかった
投げなわツールで使った