游戏开发中的数学和物理算法(6):圆和球的碰撞检测
2014-05-12 19:30
507 查看
1.圆的碰撞检测
圆的碰撞条件:
当两个圆相切或者相交时,我们认为两个圆应该开始发生碰撞。
数学表示:
计算机中的实现:
两圆之间的碰撞:
2.球的碰撞
球的碰撞条件:
当两个球相切或者相交时,我们认为两个球应该开始发生碰撞。
数学表示:
计算机中的实现:
两球之间的碰撞:
圆的碰撞条件:
当两个圆相切或者相交时,我们认为两个圆应该开始发生碰撞。
数学表示:
计算机中的实现:
两圆之间的碰撞:
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):圆和球的碰撞检测
- 游戏开发中的数学和物理算法(6):圆和球的碰撞检测
- 游戏开发中的数学和物理算法(6):圆和球的碰撞检测
- 游戏开发中的数学和物理算法(6):圆和球的碰撞检测
- [Game] 游戏开发中的数学和物理算法:圆和球的碰撞检测
- 游戏开发中的数学和物理算法(5):圆(2D)和球(3D)
- 游戏开发中的数学和物理算法(14):矩阵的相等和转置
- 游戏开发中的数学和物理算法(7):角度 vs 弧度
- 游戏开发中的数学和物理算法(17):平移
- 游戏开发中的数学和物理算法(15):矩阵的加减法
- 游戏开发中的数学和物理算法(3):点之间的距离
- 游戏开发中的数学和物理算法(18):缩放
- 游戏开发中的数学和物理算法(7):角度 vs 弧度
- 游戏开发中的数学和物理算法(16):矩阵的乘法
- 游戏开发中的数学和物理算法(8):三角函数
- 游戏开发中的数学和物理算法(8):三角函数
- C++游戏开发之碰撞检测算法
- 游戏开发中的数学和物理算法(17):平移
- 游戏开发中的数学和物理算法(2):定义线
- 游戏开发中的数学和物理算法(4):抛物线