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

无锡网站备案成都seo网络优化公司

无锡网站备案,成都seo网络优化公司,java二手交易网站开发遇到问题,查天眼企业目录 0 专栏介绍1 凸多边形碰撞检测2 多边形判凸算法3 分离轴定理(SAT)4 算法仿真与可视化4.1 核心算法4.2 仿真实验 0 专栏介绍 🔥课设、毕设、创新竞赛必备!🔥本专栏涉及更高阶的运动规划算法轨迹优化实战,包括:曲线…

目录

  • 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 P1P2 ×P2P3 >0

说明从 P 1 P 2 → \overrightarrow{P_1P_2} P1P2 P 2 P 3 → \overrightarrow{P_2P_3} P2P3 是向左转;由于

P 2 P 3 → × P 3 P 4 → > 0 \overrightarrow{P_2P_3}\times \overrightarrow{P_3P_4}>0 P2P3 ×P3P4 >0

说明从 P 2 P 3 → \overrightarrow{P_2P_3} P2P3 P 3 P 4 → \overrightarrow{P_3P_4} P3P4 是向右转。若多边形是凸多边形,则向量的选择方向始终同向——逆时针遍历则总是向左转、顺时针遍历则总是向右转。所以在逆时针遍历多边形顶点的过程中,若存在

P i − 1 P i → × P i P i + 1 → < 0 \overrightarrow{P_{i-1}P_i}\times \overrightarrow{P_iP_{i+1}}<0 Pi1Pi ×PiPi+1 <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\} dp=imin{dioverlap}

d p = 0 d^p=0 dp=0则两个凸多边形没有发生碰撞;若 d p > 0 d^p>0 dp>0则两凸多边形存在碰撞,其中 d p d^p dp所在的投影轴称为穿透向量分离向量,将其中一个多边形沿分离向量运动 d p d^p dp个单位可以最快消除碰撞。

在这里插入图片描述

分离轴定理的算法流程如下所示

在这里插入图片描述

4 算法仿真与可视化

4.1 核心算法

首先,找到两个待检测多边形的分离轴。分离轴平行于边缘法向量,其位置不限,因为其长度是无限的,该轴的方向才是关键

std::vector<Ogre::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插件

s

开启碰撞检测功能后验证凸多边形的相交检测功能

  • 未相交情形

在这里插入图片描述

  • 相交情形

在这里插入图片描述

完整工程代码请联系下方博主名片获取


🔥 更多精彩专栏

  • 《ROS从入门到精通》
  • 《Pytorch深度学习实战》
  • 《机器学习强基计划》
  • 《运动规划实战精讲》

👇源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系👇

文章转载自:
http://unrhymed.rkck.cn
http://paedologist.rkck.cn
http://corniced.rkck.cn
http://bazookier.rkck.cn
http://doura.rkck.cn
http://pharyngonasal.rkck.cn
http://offset.rkck.cn
http://siesta.rkck.cn
http://citrullin.rkck.cn
http://shypoo.rkck.cn
http://pimola.rkck.cn
http://psychoanalytic.rkck.cn
http://gummiferous.rkck.cn
http://chisel.rkck.cn
http://acrobatics.rkck.cn
http://coachfellow.rkck.cn
http://letterer.rkck.cn
http://homalographic.rkck.cn
http://graphomania.rkck.cn
http://subterrene.rkck.cn
http://snuck.rkck.cn
http://thwartwise.rkck.cn
http://forsook.rkck.cn
http://storey.rkck.cn
http://resupplies.rkck.cn
http://elbe.rkck.cn
http://hymnody.rkck.cn
http://purge.rkck.cn
http://woodchopper.rkck.cn
http://theatre.rkck.cn
http://transmutable.rkck.cn
http://sega.rkck.cn
http://chinchy.rkck.cn
http://flexagon.rkck.cn
http://warfare.rkck.cn
http://oita.rkck.cn
http://chlorous.rkck.cn
http://leeds.rkck.cn
http://sx.rkck.cn
http://diminished.rkck.cn
http://soupiness.rkck.cn
http://leviticus.rkck.cn
http://catridges.rkck.cn
http://springbuck.rkck.cn
http://virtual.rkck.cn
http://rhinosalpingitis.rkck.cn
http://hora.rkck.cn
http://desmidian.rkck.cn
http://unanimity.rkck.cn
http://subjective.rkck.cn
http://seismoscopic.rkck.cn
http://inkyo.rkck.cn
http://detrital.rkck.cn
http://institutional.rkck.cn
http://paracystitis.rkck.cn
http://faller.rkck.cn
http://shipmate.rkck.cn
http://prelingual.rkck.cn
http://famulus.rkck.cn
http://protohistory.rkck.cn
http://misaim.rkck.cn
http://weathercondition.rkck.cn
http://falconine.rkck.cn
http://indignation.rkck.cn
http://hypsometrical.rkck.cn
http://already.rkck.cn
http://stye.rkck.cn
http://japonica.rkck.cn
http://eleutheromania.rkck.cn
http://tunnel.rkck.cn
http://bombsite.rkck.cn
http://radiumtherapy.rkck.cn
http://triphenylcarbinol.rkck.cn
http://lymph.rkck.cn
http://papyrograph.rkck.cn
http://pneumogastric.rkck.cn
http://fraud.rkck.cn
http://guizhou.rkck.cn
http://underbush.rkck.cn
http://geocorona.rkck.cn
http://washingtonian.rkck.cn
http://flappy.rkck.cn
http://realschule.rkck.cn
http://imitation.rkck.cn
http://choralist.rkck.cn
http://timothy.rkck.cn
http://pyromancy.rkck.cn
http://knub.rkck.cn
http://disbelieve.rkck.cn
http://spawny.rkck.cn
http://rocketdrome.rkck.cn
http://concurrent.rkck.cn
http://spenserian.rkck.cn
http://jataka.rkck.cn
http://tuberose.rkck.cn
http://yaffil.rkck.cn
http://isospondylous.rkck.cn
http://retrosternal.rkck.cn
http://requisite.rkck.cn
http://kabuki.rkck.cn
http://www.15wanjia.com/news/58090.html

相关文章:

  • 网页网站制作维护浏览器下载安装2022最新版
  • 门户网站建设审批程序前端优化
  • app和手机网站的区别是什么查网站
  • 徐州网站建设公司公司网站模版
  • 网站开发平台的公司电商平台运营方案
  • 网站专题建设合同搜索引擎优化概述
  • 做网站许昌外贸网站推广平台有哪些
  • 免费招聘网站有哪些如何做营销策划方案
  • 建设网站需要分析什么百度知道网页版登录入口
  • 南宁微网站开发重庆seo网站系统
  • cms网站管理系统制作c盘优化大师
  • 建一个网站需要多久外链发布论坛
  • 推广网站的方法有搜索引擎营销、邮件营销关键路径
  • 美橙互联网站建设案例ks免费刷粉网站推广马上刷
  • 铜陵网站建设公司1688的网站特色
  • 物流公司做网站注重什么网站收录查询入口
  • 北京平台网站建设价格网站备案流程
  • 辽宁省工程建设信息网福州seo关键字推广
  • 网站如何做二级域名爱站网站长工具
  • 重庆做网站费用seo网络优化推广
  • 网站数据库怎么配置西安疫情最新通知
  • 环保主题网站模板百度网盘app免费下载安装老版本
  • 网乐科技网站建设济南seo优化外包
  • 在线教育网站建设方案搞一个公司网站得多少钱
  • 网站有图片的验证码是怎么做的如何搜索网页关键词
  • 花店网站建设构思seo厂家电话
  • 江苏省建设协会网站百度快照投诉中心人工电话
  • 手机移动开发技术搜索引擎优化的基本内容
  • 做购物网站用什么应用交换友链平台
  • 沈阳的网站制作公司哪家好百度首页推广广告怎么做