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

yy陪玩网站怎么做wordpress网页视频

yy陪玩网站怎么做,wordpress网页视频,极简 wordpress,品牌设计模板目录 0 专栏介绍1 贝塞尔曲线的应用2 图解贝塞尔曲线3 贝塞尔曲线的性质4 算法仿真4.1 ROS C仿真4.2 Python仿真4.3 Matlab仿真 0 专栏介绍 #x1f525;附C/Python/Matlab全套代码#x1f525;课程设计、毕业设计、创新竞赛必备#xff01;详细介绍全局规划(图搜索、采样法… 目录 0 专栏介绍1 贝塞尔曲线的应用2 图解贝塞尔曲线3 贝塞尔曲线的性质4 算法仿真4.1 ROS C仿真4.2 Python仿真4.3 Matlab仿真 0 专栏介绍 附C/Python/Matlab全套代码课程设计、毕业设计、创新竞赛必备详细介绍全局规划(图搜索、采样法、智能算法等)局部规划(DWA、APF等)曲线优化(贝塞尔曲线、B样条曲线等)。 详情图解自动驾驶中的运动规划(Motion Planning)附几十种规划算法 1 贝塞尔曲线的应用 贝塞尔曲线是一种数学曲线由法国数学家皮埃尔·贝塞尔于1962年引入。它使用一组控制点来定义曲线的形状这些控制点的位置和数量决定了曲线的特征。贝塞尔曲线的应用非常广泛 计算机图形学贝塞尔曲线可以用于绘制平滑的曲线和曲面。在计算机图形学中它们被广泛用于绘制二维和三维图形对象如曲线、路径、字体等。贝塞尔曲线具有良好的平滑性和灵活性在图形渲染和模型构建方面发挥着重要作用CAD 设计贝塞尔曲线在计算机辅助设计中起到关键作用。设计师可以使用贝塞尔曲线创建和编辑复杂的曲线形状如汽车外形、船体曲线、建筑物外观等。贝塞尔曲线的控制点可以通过拖动和调整来改变曲线的形状使设计过程更加灵活和直观动画和游戏开发贝塞尔曲线提供了一种方便的方法来定义和控制动画路径和运动轨迹。动画师可以使用贝塞尔曲线来创建平滑的动画路径让角色和物体按照指定的路径移动。在游戏开发中贝塞尔曲线也常用于实现精确的物体运动轨迹和碰撞检测字体设计贝塞尔曲线被广泛应用于字体设计中。每个字母、数字或符号都可以由一组贝塞尔曲线组成通过调整和连接这些曲线可以创建出各种字体形状和风格。贝塞尔曲线的灵活性使得字体设计者能够轻松地创建出各种自然流畅的字符形状。 2 图解贝塞尔曲线 设平面上存在 n n n个离散的控制节点则贝塞尔曲线的阶数为 n − 1 n-1 n−1。这 n n n个节点按某个顺序依次联结形成特征多边形一个特征多边形将递归地确定一条以比例系数 t ∈ [ 0 , 1 ] t \in [0,1 ] t∈[0,1]为参数的贝塞尔曲线。 如图所示为1阶贝塞尔曲线的生成过程具体地对于一阶贝塞尔曲线有 P 1 ( t ) ( 1 − t ) p 0 t p 1 \boldsymbol{P}_1\left( t \right) \left( 1-t \right) \boldsymbol{p}_0t\boldsymbol{p}_1 P1​(t)(1−t)p0​tp1​ 其中控制节点 p i [ x i , y i ] T \boldsymbol{p}_i\left[ x_i,y_i \right] ^T pi​[xi​,yi​]T。 对于二阶贝塞尔曲线首先给定比例系数 t ∈ [ 0 , 1 ] t \in [0,1 ] t∈[0,1]使 ∣ p 0 a ∣ ∣ p 0 p 1 ∣ ∣ p 1 b ∣ ∣ p 1 p 2 ∣ ∣ a q ∣ ∣ a b ∣ \frac{|\boldsymbol{p}_0\boldsymbol{a}|}{|\boldsymbol{p}_0\boldsymbol{p}_1|}\frac{|\boldsymbol{p}_1\boldsymbol{b}|}{|\boldsymbol{p}_1\boldsymbol{p}_2|}\frac{|\boldsymbol{aq}|}{|\boldsymbol{ab}|} ∣p0​p1​∣∣p0​a∣​∣p1​p2​∣∣p1​b∣​∣ab∣∣aq∣​ 其中 q \boldsymbol{q} q落在由 a \boldsymbol{a} a、 b \boldsymbol{b} b确定的一阶贝塞尔曲线上 a \boldsymbol{a} a与 b \boldsymbol{b} b分别落在由 p 0 \boldsymbol{p}_0 p0​、 p 1 \boldsymbol{p}_1 p1​与 p 1 \boldsymbol{p}_1 p1​、 p 2 \boldsymbol{p}_2 p2​确定的一阶贝塞尔曲线上因此 q \boldsymbol{q} q最终为二阶贝塞尔曲线上的一点有 P 2 ( t ) ( 1 − t ) a t b \boldsymbol{P}_2\left( t \right) \left( 1-t \right) \boldsymbol{a}t\boldsymbol{b} P2​(t)(1−t)atb 即 P 2 ( t ) ( 1 − t ) 2 p 0 2 t ( 1 − t ) p 1 t 2 p 2 \boldsymbol{P}_2\left( t \right) \left( 1-t \right) ^2\boldsymbol{p}_02t\left( 1-t \right) \boldsymbol{p}_1t^2\boldsymbol{p}_2 P2​(t)(1−t)2p0​2t(1−t)p1​t2p2​ 如图所示 递推地有 P ( t ) ∑ i 0 n − 1 p i B i , n − 1 ( t ) , t ∈ [ 0 , 1 ] \boldsymbol{P}\left( t \right) \sum_{i0}^{n-1}{\boldsymbol{p}_iB_{i,n-1}\left( t \right)}, t\in \left[ 0,1 \right] P(t)i0∑n−1​pi​Bi,n−1​(t),t∈[0,1] 其中 p i ( i 0 , ⋯ , n − 1 ) \boldsymbol{p}_i\left( i0,\cdots ,n-1 \right) pi​(i0,⋯,n−1)为控制节点的有序序列 B i , n ( t ) C n i t i ( 1 − t ) n − i , t ∈ [ 0 , 1 ] B_{i,n}\left( t \right) C_{n}^{i}t^i\left( 1-t \right) ^{n-i},t\in \left[ 0,1 \right] Bi,n​(t)Cni​ti(1−t)n−i,t∈[0,1]称为伯恩斯坦多项式(Bernstein Polynomial)可视为权重因子即曲线上某点 P ( t ) \boldsymbol{P}\left( t \right) P(t)是控制节点序列的加权平均 3 贝塞尔曲线的性质 贝塞尔曲线具有非常多优良的性质主要列举如下 归一性各项系数和为1凸包性贝塞尔曲线始终被所有控制点形成的最小凸多边形所包含端点性由于 B 0 , n ( 0 ) B n , n ( 1 ) 1 B_{0,n}\left( 0 \right) B_{n,n}\left( 1 \right) 1 B0,n​(0)Bn,n​(1)1所以贝塞尔曲线始于 p 0 \boldsymbol{p}_0 p0​终于 p n \boldsymbol{p}_n pn​但不经过中间控制节点即为逼近而非插值几何不变性贝塞尔曲线的形状仅与特征多边形各顶点相对位置有关与坐标系的选择无关变差伸缩性若贝塞尔曲线特征多边形是一个平面图形则平面内任意直线与贝塞尔曲线交点的个数不多于该直线与特征多边形的交点个数微分 P ′ ( t ) n ∑ i 1 n ( p i − p i − 1 ) B i − 1 , n − 1 ( t ) \boldsymbol{P}\left( t \right) n\sum\nolimits_{i1}^n{\left( \boldsymbol{p}_i-\boldsymbol{p}_{i-1} \right) B_{i-1,n-1}\left( t \right)} P′(t)n∑i1n​(pi​−pi−1​)Bi−1,n−1​(t)即 n n n阶贝塞尔曲线的导数是 n − 1 n-1 n−1阶贝塞尔曲线控制节点为 q i n ( p i 1 − p i ) , i 0 , ⋯ , n − 1 \boldsymbol{q}_in\left( \boldsymbol{p}_{i1}-\boldsymbol{p}_i \right) , i0,\cdots ,n-1 qi​n(pi1​−pi​),i0,⋯,n−1。特别地 P ′ ( 0 ) n ( p 1 − p 0 ) \boldsymbol{P}\left( 0 \right) n\left( \boldsymbol{p}_1-\boldsymbol{p}_0 \right) P′(0)n(p1​−p0​)、 P ′ ( 1 ) n ( p n − p n − 1 ) \boldsymbol{P}\left( 1 \right) n\left( \boldsymbol{p}_n-\boldsymbol{p}_{n-1} \right) P′(1)n(pn​−pn−1​)即贝塞尔曲线首末位置切线方向与特征多边形首末边方向一致 4 算法仿真 4.1 ROS C仿真 核心代码如下 Points2d Bezier::generation(Pose2d start, Pose2d goal) {double sx, sy, syaw;double gx, gy, gyaw;std::tie(sx, sy, syaw) start;std::tie(gx, gy, gyaw) goal;int n_points (int)(helper::dist(Point2d(sx, sy), Point2d(gx, gy)) / step_);Points2d control_pts getControlPoints(start, goal);Points2d points;for (size_t i 0; i n_points; i){double t (double)(i) / (double)(n_points - 1);points.push_back(bezier(t, control_pts));}return points; }其中bezier函数实现了伯恩斯坦多项式求和 Point2d Bezier::bezier(double t, Points2d control_pts) {size_t n control_pts.size() - 1;Point2d pt(0, 0);for (size_t i 0; i n 1; i){pt.first _comb(n, i) * std::pow(t, i) * std::pow(1 - t, n - i) * control_pts[i].first;pt.second _comb(n, i) * std::pow(t, i) * std::pow(1 - t, n - i) * control_pts[i].second;}return pt; }4.2 Python仿真 核心代码如下所示 def generation(self, start_pose: tuple, goal_pose: tuple):sx, sy, _ start_posegx, gy, _ goal_posen_points int(np.hypot(sx - gx, sy - gy) / self.step)control_points self.getControlPoints(start_pose, goal_pose)return [self.bezier(t, control_points) for t in np.linspace(0, 1, n_points)], \control_pointsdef bezier(self, t: float, control_points: list) -np.ndarray:n len(control_points) - 1control_points np.array(control_points)return np.sum([comb(n, i) * t ** i * (1 - t) ** (n - i) * control_points[i] for i in range(n 1)], axis0)4.3 Matlab仿真 核心代码如下所示 function curve generation(start, goal, param)sx start(1); sy start(2);gx goal(1); gy goal(2);n_points hypot(sx - gx, sy - gy) / param.step;control_pts getControlPoints(start, goal, param);curve [];for t0:1 / n_points:1curve [curve; bezier(t, control_pts)];end endfunction curve_pt bezier(t, control_pts)[m, ~] size(control_pts);n m - 1;pt_x 0; pt_y 0;for i0:npt_x pt_x nchoosek(n, i) * power(t, i) * power(1 - t, n - i) * control_pts(i 1, 1);pt_y pt_y nchoosek(n, i) * power(t, i) * power(1 - t, n - i) * control_pts(i 1, 2);endcurve_pt [pt_x, pt_y]; end完整工程代码请联系下方博主名片获取 更多精彩专栏 《ROS从入门到精通》《Pytorch深度学习实战》《机器学习强基计划》《运动规划实战精讲》… 源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系
http://www.tj-hxxt.cn/news/130148.html

相关文章:

  • 只做网站可以在百度里收到吗copyright wordpress
  • 市场营销网站移动课程播放网站建设多少钱
  • 服装网站建设美丽php网站建设素材
  • 右翼网站淘宝返利网站怎么做的
  • 保定 网站建设软件开发门户网站创新的方式有
  • 做网站如何推广买量网站免费下载软件
  • 做网站要会没软件7有免费建网站
  • 主要给人家做网站的公司做挂件的网站
  • seo优化网站快速排名seo在中国
  • 外贸商城网站建设公司支持微信支付的网站开发
  • 网网站建设公司咨询最全黄页
  • 网站域名备案证书下载网站做代练
  • 青岛海川建设集团网站公众号制作教程视频
  • 中国建设银行英文网站安庆网站建设电话
  • 仿淘宝电商网站开发报价企业网站建设太原网站建设
  • js做网站登录界面装修网页
  • 周大福网站建设主要工作有哪些公司建设网站
  • 网站怎么做更新互联网营销师培训教程
  • 南部县建设局网站wordpress教程创建网页
  • 网站建设与维护费套路网站怎么做的
  • 网络营销的主要形式有建设网站市场营销方案案例范文
  • 云南网站开发培训机构专业网站建设价格
  • 上海的网站开发公司wordpress评论去掉网址
  • 站长之家ping检测别墅装修装饰
  • 网站制作 沈阳网页制作源代码免费的
  • 惠州seo网站管理谷歌官网登录入口
  • 做网站不需要编程的软件合购WordPress
  • 苏州做物流网站电话主流网站编程语言
  • 太原网站空间wordpress做seo合适吗
  • 网站企业网站建设需求文档网络软件开发专业是做什么的