• 締切済み

Processing 円と線分の衝突判定について

最近プログラミングを始めました。 今、画面の中央から落ちてくる円と、マウスボタンを押したときに三角の頂点から真上に表示される線分の2つが、接触したときに円の位置を画面の最上部に移動させ、その後再び下方向に円が移動する様なプログラムを作っています。 それで、それぞれ円と線分を表示させることはができたのですが、どうやれば円と線分が衝突したことになるか分かりません。 プログラムを載せます size(400,400); } void draw(){ background(0); fill(255,0,0); noStroke(); ellipse(200,y,r,r); y = y + 1; noStroke(); fill(10,10,255); triangle(mouseX,mouseY - 20,mouseX - 14,mouseY + 20,mouseX + 14,mouseY + 20); if(mousePressed){  stroke(248,252,3);  line(mouseX,0,mouseX,mouseY-20); } } あとはif命令を書き加えれば良いと思うのですが、どうしても条件式が思いつきません。 GW中ずっと悩んでいて分からなかったので質問しました。

みんなの回答

noname#207526
noname#207526
回答No.1

円と線分の交わりは、数学で習います。基本的にアルゴリズムを考える必要がありますが、四角だと想定してもいいと思います。 面倒なら衝突判定ライブラリを利用するといいと思います。

関連するQ&A