游戏开发中的数学和物理算法(6):圆和球的碰撞检测
2013-11-16 10:31
579 查看
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;
}
圆的碰撞条件:
当两个圆相切或者相交时,我们认为两个圆应该开始发生碰撞。
数学表示:
计算机中的实现:
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;
}
相关文章推荐
- 游戏开发中的数学和物理算法(6):圆和球的碰撞检测
- [Game] 游戏开发中的数学和物理算法:圆和球的碰撞检测
- 游戏开发中的数学和物理算法(6):圆和球的碰撞检测
- 游戏开发中的数学和物理算法(6):圆和球的碰撞检测
- 游戏开发中的数学和物理算法(6):圆和球的碰撞检测
- 游戏开发中的数学和物理算法(8):三角函数
- 游戏开发中的数学和物理算法(9):三角代数
- [Game] 游戏开发中的数学和物理算法:点之间的距离
- 游戏开发中的数学和物理算法
- 游戏开发中的数学和物理算法(3):点之间的距离
- 游戏开发中的数学和物理算法(2):定义线
- Swift开发Sprite Kit游戏实践(三):物理推力与碰撞检测
- 游戏开发中的数学和物理算法(9):三角代数
- 游戏开发中的数学和物理算法(15):矩阵的加减法
- 游戏开发中的数学和物理算法10-18
- 游戏开发中的数学和物理算法(12):矢量的加减法
- 游戏开发中的数学和物理算法(10):矢量 vs 标量
- [Game] 游戏开发中的数学和物理算法:角度 vs 弧度
- 游戏开发中的数学和物理算法(3):点之间的距离
- 游戏开发中的数学和物理算法(13):点积和叉积