圆和矩形的碰撞检测.doc_第1页
圆和矩形的碰撞检测.doc_第2页
圆和矩形的碰撞检测.doc_第3页
圆和矩形的碰撞检测.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

圆和矩形的碰撞检测游戏程序教程两个矩形之间的碰撞检测:先写上参考地址:/ncutlw/blog/item/f19ca245fa61a228cefca34b.html这个算法说起来简单,想起来也不太容易,还不如搜索一下直接复制粘贴呢,代码如下:if (x1 + w1 x2 & x1 y2 & y1 x2 限定 第一个矩形的右边线在第二个矩形的左边线右边x1 y2 限定 第一个矩形的下边线在第二个矩形的上边线下面y1 y2 + h2 限定 第一个矩形的上边线在第二个矩形的下边线上边这样下来,就限定了两个矩形在Y方向上投影必然相交。(winxos 2010-8-31)两个圆之间的碰撞检测:两个圆之间的碰撞检测很好想,就是两圆原点的距离小于两圆半径和,就是相交了。代码如下:if (圆1.原点.x-圆2.原点.x)2 + (圆1.原点.y-圆2.原点.y)2)0.5)(圆1.半径+圆2.半径)碰撞成功else没有碰撞圆和矩形之间的碰撞检测:参考地址:/bcchaochao/blog/item/e85d86b180e8d4550823021b.html以下贴上原文:/下面是邪恶的伪代码:矩形和圆形的碰撞检测,需要圆和矩形 如果圆点的x坐标 小于 矩形的x坐标,并且圆点的y坐标 小于 矩形的y坐标 圆点就在矩形的左上方,这时候判断圆和矩形左上角是否碰撞。 返回这个结果。 否则如果圆点的x坐标 小于 矩形的x坐标,并且圆点的y坐标 大于 矩形的y坐标+矩形的高 圆点就在矩形的左下方,这时候判断圆和矩形左下角是否碰撞。 返回这个结果。 否则如果圆点的x坐标 大于 矩形的x坐标+矩形的宽,并且圆点的y坐标 小于 矩形的y坐标 圆点就在矩形的右上方,这时候判断圆和矩形右上角是否碰撞。 返回这个结果。 否则如果圆点的x坐标 大于 矩形的x坐标+矩形的宽,并且圆点的y坐标 大于 矩形的y坐标+矩形的高 圆点就在矩形的右下方,这时候判断圆和矩形右下角是否碰撞。 返回这个结果。 /=/上半部分结束/下半部分开始/= 如果圆点的x坐标+圆的半径 小于 矩形的x坐标 没有碰撞。 返回这个结果 否则如果圆点的y坐标+圆的半径 小于 矩形的y坐标 没有碰撞。 返回这个结果 否则如果圆点的x坐标-圆的半径 大于 矩形的x坐标+矩形的宽 没有碰撞。 返回这个结果 否则如果圆点的y坐标-圆的半径 大于 矩形的y坐标+矩形的高 没有碰撞。 返回这个结果 如果上面的都不是那就是碰撞了。 返回这个结果/=思路:将整个区域分成9块,9个方位,中间的是矩形。如果圆点在左上、右上、左下、右下、则绝对无法和矩形的四条边碰撞,这时只要圆形和相应的矩形的角的坐标进行圆和圆的碰撞检测就可以了。这是上面伪代码的上半部分。下半部分就简单了,判断圆是不是碰到矩形的边这也许是非常麻烦的方法吧,有更好的方法还请指教,谢谢。对于下半部分的代码,我们很容易就能实现,但是上半部分,就不一样了,这里我提供了一个方法: 如果圆点的x坐标 小于 矩形的x坐标,并且圆点的y坐标 小于 矩形的y坐标 圆点就在矩形的左上方,这时候判断圆和矩形左上角是否碰撞。 返回这个结果。 判断圆和矩形左上角是否碰撞的方法,用矩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论