当前位置: 首页 > news >正文

昆明网站建设那家好黑帽seo培训

昆明网站建设那家好,黑帽seo培训,在深圳找工作哪个网站好,查询企业信息的网站一、介绍 分离轴算法#xff08;简称SAT#xff09;通常用于检查两个简单多边形#xff08;凸边形#xff09;之间或多边形与圆之间的碰撞。本质上#xff0c;如果您能够绘制一条线来分隔两个多边形#xff0c;则它们不会发生碰撞#xff0c;如果找不到一条线来分割两个…一、介绍 分离轴算法简称SAT通常用于检查两个简单多边形凸边形之间或多边形与圆之间的碰撞。本质上如果您能够绘制一条线来分隔两个多边形则它们不会发生碰撞如果找不到一条线来分割两个多边形则它们发生碰撞。 如图 具体做法是遍历两个多边形的所有边求得每条边的法向轴再求出每个多边形在法向轴上的投影求出投影的最大值点和最小值点通过比较两个多边形的最值点的关系得出是否碰撞。 演示 运行代码 获取在法向轴上投影的函数 public void ProjectPolygon(Vector2 axis, Polygon polygon, ref float min, ref float max) {//要在轴上投影一个点使用点积float dotProduct Vector2.Dot(axis, polygon.Points[0]);min dotProduct;max dotProduct;for (int i 0; i polygon.Points.Count; i){dotProduct Vector2.Dot(polygon.Points[i], axis);if (dotProduct min){min dotProduct;}else{if (dotProduct max){max dotProduct;}}} } 判断是否相交函数、 public float IntervalDistance(float minA, float maxA, float minB, float maxB){if (minA minB){return minB - maxA;}else{return minA - maxB;}} 检测函数 public bool CollisionDetection(Polygon polygonA, Polygon polygonB){int edgeCountA polygonA.Edges.Count;int edgeCountB polygonB.Edges.Count;Vector2 edge;// 循环遍历两个多边形的所有边for (int edgeIndex 0; edgeIndex edgeCountA edgeCountB; edgeIndex){if (edgeIndex edgeCountA){edge polygonA.Edges[edgeIndex];}else{edge polygonB.Edges[edgeIndex - edgeCountA];}//查找多边形当前是否相交// 找出垂直于当前边的轴Vector2 axis new Vector2(-edge.y, edge.x);axis.Normalize();// 求多边形在当前轴上的投影float minA 0; float minB 0; float maxA 0; float maxB 0;ProjectPolygon(axis, polygonA, ref minA, ref maxA);ProjectPolygon(axis, polygonB, ref minB, ref maxB);// 检查多边形投影当前是否相交if (IntervalDistance(minA, maxA, minB, maxB) 0)return false;}return true;} 结果演示 碰撞检测算法-分离轴算法 参考链接 https://code.tutsplus.com/collision-detection-using-the-separating-axis-theorem--gamedev-169t How 2D Game Collision Works (Separating Axis Theorem) - YouTube Collision Detection with SAT (Math for Game Developers) - YouTube
http://www.yingshimen.cn/news/2405/

相关文章:

  • 云南公司做网站的价格莱芜金点子最新招工招聘启事
  • 企业介绍ppt案例欣赏宁波做网站优化多少钱
  • 桃子网站wordpress 框架5等分
  • 网站首图怎么做不属于企业网站建设基本标准
  • 企业网站色彩搭配京东网站优化
  • 临沂建设工程质量 监督网站微博个人网页设计模板
  • 成都网站建设的费用长治哪里做网站
  • 个人备案号 可以做游戏网站吗建设网站的建筑公司
  • 高校网站建设目的平面设计培训班哪家好
  • 建设网站具体的步骤网络营销中网站建设的策略
  • 安贞街道网站建设怎么使用wordpress
  • nodejs可以做网站么如何找友情链接
  • 如何创建广告网站培训网站欣赏
  • 三亚网站建设兼职做网站开发有什么专业证
  • wordpress建站教程贴吧网站维护是什么工作
  • 甜品售卖网站网页设计cnzz网站代做
  • 淘客网站怎么做啊南京科技网站设计多少钱
  • 一流的永州网站建设wordpress the_post分类id
  • 渭南网站建设价格网站手机端自适应
  • 网站版面的图文是怎么做的王妃说此生不复相见
  • 视频制作报价表正规的百度快排seo
  • 成都网站建设公司创新互联深圳网站建设公司招聘
  • 做一个页面网站需要多少钱程序员接私活平台
  • 商务网站创建经费预算惠州网站建设企业
  • 网站基础建设英文翻译足球队世界排名榜
  • 青岛专用网站制作ih5专业的h5制作工具
  • 做网站封面素材图磁力狗在线搜索
  • html网站设计模板下载学校网站 建设
  • 制作简历的免费网站drupal joomla wordpress 带后台管理
  • 大连建设执业资格注册中心网站wordpress发表的文章点不开