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

手机网站设计思路wordpress下载单页

手机网站设计思路,wordpress下载单页,做物流哪个网站推广好,制作网站 太原目录 0 专栏介绍1 凸多边形碰撞检测2 多边形判凸算法3 分离轴定理(SAT)4 算法仿真与可视化4.1 核心算法4.2 仿真实验 0 专栏介绍 #x1f525;课设、毕设、创新竞赛必备#xff01;#x1f525;本专栏涉及更高阶的运动规划算法轨迹优化实战#xff0c;包括#xff1a;曲线… 目录 0 专栏介绍1 凸多边形碰撞检测2 多边形判凸算法3 分离轴定理(SAT)4 算法仿真与可视化4.1 核心算法4.2 仿真实验 0 专栏介绍 课设、毕设、创新竞赛必备本专栏涉及更高阶的运动规划算法轨迹优化实战包括曲线生成、碰撞检测、安全走廊、优化建模(QP、SQP、NMPC、iLQR等)、轨迹优化(梯度法、曲线法等)每个算法都包含代码实现加深理解 详情运动规划实战进阶轨迹优化篇 本期实现如下的碰撞检测效果 1 凸多边形碰撞检测 在计算机图形学、游戏开发和机器人运动规划中碰撞检测是保证物体交互真实性的核心技术。凸多边形因其独特的几何特性任意两点连线均位于图形内部成为碰撞检测的高效研究对象。与凹多边形相比凸多边形的碰撞判定可通过分离轴定理Separating Axis Theorem, SAT在多项式时间内完成且无需复杂的三角剖分。本节将通过几何投影原理揭示如何通过极值投影快速判断两个凸多边形是否相交 2 多边形判凸算法 并非所有多边形都天生为“凸”。判凸算法是碰撞检测的前置关卡其任务是判断给定多边形的顶点序列是否满足凸性条件只有凸多边形才能应用分离轴定理进行碰撞检测。 通过向量积可以判断向量的旋转方向。如图所示由于 P 1 P 2 → × P 2 P 3 → 0 \overrightarrow{P_1P_2}\times \overrightarrow{P_2P_3}0 P1​P2​ ​×P2​P3​ ​0 说明从 P 1 P 2 → \overrightarrow{P_1P_2} P1​P2​ ​到 P 2 P 3 → \overrightarrow{P_2P_3} P2​P3​ ​是向左转由于 P 2 P 3 → × P 3 P 4 → 0 \overrightarrow{P_2P_3}\times \overrightarrow{P_3P_4}0 P2​P3​ ​×P3​P4​ ​0 说明从 P 2 P 3 → \overrightarrow{P_2P_3} P2​P3​ ​到 P 3 P 4 → \overrightarrow{P_3P_4} P3​P4​ ​是向右转。若多边形是凸多边形则向量的选择方向始终同向——逆时针遍历则总是向左转、顺时针遍历则总是向右转。所以在逆时针遍历多边形顶点的过程中若存在 P i − 1 P i → × P i P i 1 → 0 \overrightarrow{P_{i-1}P_i}\times \overrightarrow{P_iP_{i1}}0 Pi−1​Pi​ ​×Pi​Pi1​ ​0 则表明多边形非凸否则为凸多边形。 3 分离轴定理(SAT) 分离轴定理的核心思想直击几何本质若存在一条直线能将两图形投影分隔则二者不相交反之则碰撞。直观地如下图所示若两个凸多边形没有发生碰撞则必存在某角度的光源使两物体的投影存在间隙也即必存在一条直线使得两个多边形在这条直线上的投影不重叠这条直线被称为分离轴 如下图所示称凸多边形的某条边为边缘向量平行于边缘向量法向的直线称为投影轴。所有投影轴组成投影轴集合 P P P ∣ P ∣ |P| ∣P∣等于两个凸多边形的边数之和。遍历 P P P中的每条投影轴 p i \boldsymbol{p}_i pi​将两个多边形分别投影到 p i \boldsymbol{p}_i pi​上得到两个投影线段其重叠区域的长度称为重叠深度 d i o v e r l a p d_{i}^{\mathrm{overlap}} dioverlap​。定义穿透深度 d p min ⁡ i { d i o v e r l a p } d^p\min _i\left\{ d_{i}^{\mathrm{overlap}} \right\} dpimin​{dioverlap​} 若 d p 0 d^p0 dp0则两个凸多边形没有发生碰撞若 d p 0 d^p0 dp0则两凸多边形存在碰撞其中 d p d^p dp所在的投影轴称为穿透向量或分离向量将其中一个多边形沿分离向量运动 d p d^p dp个单位可以最快消除碰撞。 分离轴定理的算法流程如下所示 4 算法仿真与可视化 4.1 核心算法 首先找到两个待检测多边形的分离轴。分离轴平行于边缘法向量其位置不限因为其长度是无限的该轴的方向才是关键 std::vectorOgre::Vector3 axes; for (int i 0; i size(); i) {const auto pt1 points_[i];const auto pt2 points_[next(i)];const auto edge pt2 - pt1;Ogre::Vector3 nor(edge.y, -edge.x, 0.0);nor.normalise();axes.emplace_back(std::move(nor)); }for (int i 0; i other-size(); i) {const auto pt1 other-points()[i];const auto pt2 other-points()[other-next(i)];const auto edge pt2 - pt1;Ogre::Vector3 nor(edge.y, -edge.x, 0.0);nor.normalise();axes.emplace_back(std::move(nor)); }接着对每一条分离轴计算两个多边形在该轴的投影。通过将一个多边形上的每个顶点向量与选定的投影轴进行点积然后保留该多边形在该投影轴上所有投影中的最大值和最小值即可表示一个多边形在某投影轴上的投影 double proj_1_min, proj_1_max; double proj_2_min, proj_2_max; project(points_, axis, proj_1_min, proj_1_max); project(other-points(), axis, proj_2_min, proj_2_max);只要存在一条分离轴使两个多边形的投影不重合即表明不发生碰撞 if (!(proj_1_min proj_2_max proj_2_min proj_1_max)) {return false; }4.2 仿真实验 通过Rviz-Add New Tool添加Polygon Simulation插件 开启碰撞检测功能后验证凸多边形的相交检测功能 未相交情形 相交情形 完整工程代码请联系下方博主名片获取 更多精彩专栏 《ROS从入门到精通》《Pytorch深度学习实战》《机器学习强基计划》《运动规划实战精讲》… 源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系
http://www.w-s-a.com/news/215533/

相关文章:

  • 域名虚拟服务器做网站如何搭建企业网站
  • 用手机做网站服务器口碑好的常州网站建设
  • 摄影网站的设计与实现开题报告太原企业自助建站
  • 做如美团式网站要多少钱做网站怎么去文化局备案
  • 桂平市住房和城乡建设局网站网站建设与管理自考题
  • 怎么做公司网站制作凡科官方网
  • 达人设计网官方网站建筑效果图网站有哪些
  • 网站定制哪家快建筑室内设计网
  • 网站创建方案论文旅游网站的设计与制作html
  • 网站建设的数据导入导出开发小程序需要多少钱费用
  • 局网站建设进入前十名wordpress user role editor
  • 网站托管如何收费搜一下百度
  • 中国建设劳动协会网站wordpress 区块链媒体
  • 网站开源是什么意思西安做网站科技有限公司
  • 自己怎么用h5做网站肇庆seo
  • 长沙网站seo优化公司东莞企业官方网站建设
  • 网站个人备案材料北京网站推广价格
  • 百度做任务的网站电子工程网网站
  • 中介订制网站开发玉溪网站建设设计
  • 免费网站免费无遮挡手机页面设计软件
  • 网站建设需求规格说明书中山模板建站公司
  • wordpress get值网站建设 seo sem
  • 网站建设微信开发工厂代加工平台
  • 厦门 网站建设 公司哪家好asp.net 创建网站
  • 专业北京网站建设凡科网做网站怎么样
  • 金富通青岛建设工程有限公司网站浙江省住建厅四库一平台
  • 有搜索引擎作弊的网站企业建设H5响应式网站的5大好处6
  • 是做网站编辑还是做平面设计seo外包公司接单
  • 做性的网站有哪些苏州专业网站设计制作公司
  • 陵水网站建设友创科技十大优品店排名