More Related Content
Similar to Kim120 lt 12_6
Similar to Kim120 lt 12_6 (20)
More from amusementcreators
More from amusementcreators (20)
Kim120 lt 12_6
- 3. 物体と物体とが衝突したかどうかを調べる
二点間距離による判定
矩形判定
線分交差判定
- 4. 円の中心の座標と、円の半径の大きさを使う
(X2, Y2)
(X1, Y1)
D1+D2
(𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < (𝐷1 + 𝐷2)
- 5. 実行時間計測
1 (𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < (𝐷1 + 𝐷2)
2 (𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < (𝐷1 + 𝐷2)2
3 (𝑋1 − 𝑋2)2 +(𝑌1 − 𝑌2)2 < 𝐷 ( D=(𝐷1 + 𝐷2)2 )
float[ns] double[ns]
1 ルート有, 距離演算有 27.51 24.7
2 ルート無, 距離演算有 21.6 18.7
3 ルート無, 距離演算無 20.5 19.7
- 6. 矩形の左上と右下の点を使う
(X1, Y1)
(X3, Y3)
(X4, Y4)
(X2, Y2)
X1<X4, X3<X2, Y1<Y4, Y3<Y2
- 7. 実行時間計測
X1<X4 && X3<X2 && Y1<Y4 && Y3<Y2
float[ns] double[ns]
矩形判定 24.61 22.5
- 9. PとQが同じ点を表すことを利用する
(X2+Vx2, Y2+Vy2) (X1+Vx1, Y1+Vy1)
1-sP ( X1+t*Vx1, Y1+t*Vy1 )
1-t
t
Q ( X2+s*Vx2, Y2+s*Vy2 )
P s Q
(X1, Y1)
(X2, Y2)
- 10. 実行時間計測
𝑣 𝑦1 𝑣 𝑦1
𝑦2 − 𝑦1 − 𝑥 + 𝑥
𝑣 𝑥1 2 𝑣 𝑥1 1
𝑠= 𝑣 𝑦1
𝑣 𝑥2 − 𝑣 𝑦2
𝑣 𝑥1
0.0 < s < 1.0
float[ns] double[ns]
交差判定 44.8 36.61