这篇我们将讲解圆与矩形的碰撞;

圆与矩形的碰撞检测

通常在svg或者canvas中我们会这样表示一个圆: 圆心(cx,cy),半径r;

表示矩形:中心点坐标(0,0) width="250" height="250" x=-width/2 y=-height/2 平移(rectX,rectY)并以几何中心旋转任意角度

展示的矩形即几何中心点(rectX,rectY)width="250" height="250";

你可能会问,如果矩形被旋转了怎么办?

我们可以在矩形的中心点建立一个新的坐标系统。以宽平行方向为x轴方向,以高平行方向为Y轴方向

得到在新的坐标系统中圆的坐标:(cx-rectX,cy-rectY)

在新坐标系统中计算圆中心点的投影即圆中心点的坐标。那么我们发现,

图中L=r/Math.sqrt(r);

我们可以看到当两边投影 x 方向 小于等于width+L && y方向小于等于heigth/2 或者 x方向小于等于width/2 && y方向上小于等于 height+L的时候即碰撞

//(cx,cy) 矩形 width height 中心点(rectX,rectY)

var L=r/Math.sqrt(r);

if((Math.abs(cx-rectX)<= width/2+L && Math.abs(cy-rectY)<= height/2)||(Math.abs(cx-rectX)<= width/2 && Math.abs(cy-rectY)<= height/2+L)){

//碰撞

}else{

//无碰撞

}

二维碰撞检测matlab,二维平面内的碰撞检测【二】相关推荐

  1. matlab 把图像变成二维的,matlab图像怎么变成二维矩阵

    求:matlab二维直方图图像分割程序.. 我给你个网站``里面的教学很详细~~希望能帮到你~~~~反正里面的软件教程很多``就是不知道有没你要找的``如果有~~给我加分哈``http://tech. ...

  2. c语言字符串二维数组的动态分配应,C语言中动态分配二维数组复习过程.doc

    C语言中动态分配二维数组复习过程.doc C语言中动态分配二维数组在C中动态分配内存的,对于单个变量,字符串,一维数组等,都是很容易的.C中动态分配二维数组的方法,很少有C语言书中描述,我查找了有的C ...

  3. QRCode二维码生成方案及其在带LOGO型二维码中的应用(1)

    提要:很多公司为商业宣传之需,常将企业LOGO加入二维码中,但如果LOGO遮挡区域足够地大,二维码就变得无法识别.那么,有没有一种办法将上述区域预先"抠空"出来(以便专门放置LOG ...

  4. QRCode二维码生成方案及其在带LOGO型二维码中的应用

    很多公司为商业宣传之需,常将企业LOGO加入二维码中,但如果LOGO遮挡区域足够地大,二维码就变得无法识别.那么,有没有一种办法将上述区域预先"抠空"出来(以便专门放置LOGO), ...

  5. R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图、2D密度估计、MASS包中的kde2d函数实现2D密度估计、geom_density2d函数可视化二维密度图

    R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图.2D密度估计.MASS包中的kde2d函数实现2D密度估计.geom_density2d函数可视化二维密度图 目录

  6. 你的微信二维码是唯一的吗?【微信二维码的秘密】

    你的微信二维码是唯一的吗?[微信二维码的秘密] 原文:你的微信二维码是唯一的吗?[微信二维码的秘密] 最近听说有一老板被一科技公司业务员忽悠,说"您赶快来注册您唯一的二维码吧!否则,会被别人 ...

  7. QRCode二维码生成方案及其在带LOGO型二维码中的应用(2)

    QRCode二维码生成方案及其在带LOGO型二维码中的应用(2) 原文:QRCode二维码生成方案及其在带LOGO型二维码中的应用(2) 续前:QRCode二维码生成方案及其在带LOGO型二维码中的应 ...

  8. c语言二维数组中的周边,【C语言】二维数组中的查找,杨氏矩阵

    //二维数组中的查找,杨氏矩阵 //在一个二维数组中,每行都依照从左到右的递增的顺序排序.每列都依照从上到下递增的顺序排序. //请完毕一个函数.输入这种一个数组和一个数,推断数组中是否包括这个数. ...

  9. uniapp中qrcode生成二维码后传的参数不见了_二维码扫描登录,你必须知道的 3 件事...

    作者 | 互联网平头哥 本文经授权转载自互联网平头哥(ID:it_pingtouge) 扫二维码登录现在比较常见,比如微信.支付宝等 PC 端登录,并且好像每款 APP 都支持扫码登录,不搞个扫码登录 ...

  10. java二维码生成-谷歌(Google.zxing)开源二维码生成学习及实例

    java二维码生成-谷歌(Google.zxing)开源二维码生成的实例及介绍  这里我们使用比特矩阵(位矩阵)的QR码编码在缓冲图片上画出二维码 实例有以下一个传入参数 OutputStream o ...

最新文章

  1. Windows Caffe中MNIST数据格式转换实现
  2. LEMP+memcached
  3. 测量角速度_锡膏的粘度如何正确鉴别和精确测量?
  4. JavaWeb002-servlet基础
  5. Leetcode 70
  6. [gist]Android SHA-1
  7. java斗破苍穹游戏阵容,斗破苍穹手游竞技场阵容搭配解析 最强阵容你知道吗
  8. 【测】测试用MetaWeblog访问博客园
  9. arcgis server 10.4 安装与授权
  10. Git 命令大全整理
  11. raid卡组不同raid_RAID 类型介绍
  12. Php底层深度探索(2)---Apache运行机制剖析 王泽宾
  13. .net core精彩实例分享 -- 应用启动
  14. Spring源代码分析-Persist--JdbcTemplate
  15. Script:Diagnostic Resource Manager
  16. 学习bind源代码,比较bind的方式绑定函数在在内存使用上优于箭头函数
  17. GoAhead WebServer 架构
  18. 王者荣耀改重复名,空白名最低战力查询助手微信小程序源码下载
  19. PR、PS小技巧汇总
  20. 第九十五章 SQL函数 MINUTE

热门文章

  1. 机器学习(part4)--模型评估
  2. python游戏开发步骤_详解Python GUI版24点游戏制作过程
  3. python训练数据集_Python-yolov3训练自己的数据集,pytorchyolov3
  4. 报错:TypeError: can‘t pickle _thread.RLock objects
  5. SAP Spartacus 项目执行 yarn build --stats-json 遇到的一些错误消息
  6. SAP 电商云 Spartacus UI 的 urlParameter 配置原理
  7. Kitten编程猫的工程文件 bcm,能发布成Android平台的apk文件吗
  8. SAP Spartacus 2.1.0 加载homepage的逻辑
  9. 在Angular的index.html里插入script,拦截所有动态创建标签页的场景
  10. SAP Fiori Elements save按钮的实现细节