[Game] 游戏开发中的数学和物理算法:圆和球的碰撞检测

1.圆的碰撞检测

圆的碰撞条件:
当两个圆相切或者相交时,我们认为两个圆应该开始发生碰撞。

[Game] 游戏开发中的数学和物理算法:圆和球的碰撞检测_第1张图片
数学表示:

计算机中的实现:

两圆之间的碰撞 bool CollisionBetweenCircles(circle c1,circle c2) { bool hit; float distanceOfCenter=sqrt(pow((c1.center.x-c2.center.x),2)+ pow((c1.center.y-c2.center.y),2)); float distanceOfRadius=c1.radius+c2.radius; if(distanceOfCenter<=distanceOfRadius) { hit=true; } else { hit=false; } return hit; }

 

2.球的碰撞

球的碰撞条件:
当两个球相切或者相交时,我们认为两个球应该开始发生碰撞。

数学表示:

计算机中的实现:


bool CollisionBetweenSphere(sphere s1,sphere s2) { bool hit; float distanceOfCenter=sqrt(pow((s1.center.x-s2.center.x),2)+ pow((s1.center.y-s2.center.y),2)+ pow((s1.center.z-s2.center.z),2)); float distanceOfRadius=s1.radius+s2.radius; if(distanceOfCenter<=distanceOfRadius) { hit=true; } else { hit=false; } return hit; }
转自http://www.cnblogs.com/HelloCG/archive/2009/01/14/1375573.html

你可能感兴趣的:(游戏,c,算法,float)