プログラミングの為の数学と算数
■ このスレッドは過去ログ倉庫に格納されています
0735デフォルトの名無しさん
NGNG4点をA, B, C, D として、クリックされた点をPとする。
P が ベクトルAB,ベクトルBC,ベクトルCD,ベクトルDAのすべてに対して同じ側にあればよい。
PがベクトルABに対してどちら側にあるかは
ベクトル AP を p, ベクトル AB を q として
p.x * q.y - p.y * q.x が 正か負かで判断できる。
四角形 ABCDが凸多角形でない場合は、二つの三角形に分割して、
どちらかの三角形に含まれるという条件で判定する。
■ このスレッドは過去ログ倉庫に格納されています