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

响应式网站开发公司描述建设一个网站的基本步骤

响应式网站开发公司,描述建设一个网站的基本步骤,鲜花网站建设策划方案书,织梦网站修改数据库表数据前言之前被安排了活#xff0c;一个局部区域机器运动控制的工作#xff0c;大致是一个机器位于一个极限区域时候#xff0c;机器要进入一个特殊的机制#xff0c;使得机器可以安全的走出来。其中用到了bezier曲线进行优化路径#xff0c;今天写一下#xff0c;正好也给大… 前言之前被安排了活一个局部区域机器运动控制的工作大致是一个机器位于一个极限区域时候机器要进入一个特殊的机制使得机器可以安全的走出来。其中用到了bezier曲线进行优化路径今天写一下正好也给大家分享一下工作和实践的情况。作者良知犹存转载授权以及围观欢迎关注微信公众号羽林君或者添加作者个人微信become_me贝塞尔曲线基本介绍线段都可以被拆分成两个坐标的差来表示,如下面一阶的贝塞尔曲线P0到P1可以用一个t进行拆分这段线,分别是线段 t(P0P1)、线段 1-t(P0P1)P0和P1叫做 这条条贝塞尔的两个控制点而贝塞尔曲线至少要有两个控制点就是下面的这条直线一阶贝塞尔曲线。在贝塞尔曲线与控制点位置相关这意味着在曲线生成过程中我们可以通过调节控制点的位置进而调整整个曲线。贝塞尔的阶数和次数是一样的二阶贝塞尔三个点最高次数二次。例二阶贝塞尔三个点两个线段以所有等比的点组合成的曲线叫做二阶贝塞尔曲线。接下来给大家介绍一下贝塞尔曲线的推导工程也比较简单并且网上的介绍也挺多的一阶这里面有两个控制点为和 对应的曲线方程为402 Payment Requiredtϵ[0,1] 这个方程可以理解为从出发朝着的方向前进的距离从而得到了点B(t)的位置。t从0逐渐递增到1这个过程完成就成了我们所看到的曲线。另外之所以是一阶贝塞尔曲线是因为方程是关于t的一阶多项式多阶也是一样。二阶有三个控制点这里的 P0、P1、P2 分别称之为控制点曲线的产生完全与这三个点位置相关。与一阶有些区别就在于三个控制点形成两个线段每个线段上有一个点在运动于是得到两个点再使用两个点形成一个线段这个线段上有一个点在运动于是得到一个点最后一个点的运动轨迹便构成了二阶贝塞尔曲线。对应的曲线方程为402 Payment Required这是一条迭代公式每次迭代都会少掉一个“点”。最后得402 Payment Required三阶有四个控制点设控制点为P0P1P2和P4曲线方程为402 Payment Required配图这是matlab生成的gif动画大家想要的也可以找我代码私发给大家。N阶我们发现实际上是每轮都是 n 个点形成 n-1 条线段每个线段上有一个点在运动那么就只关注这 n-1 个点循环往复。最终只剩一个点时它的轨迹便是结果。如此一来你会发现贝塞尔曲线内的递归结构。实际上上述介绍的分别是一阶、二阶、三阶的贝塞尔曲线贝塞尔曲线可以由阶数递归定义。N阶贝塞尔曲线公式:402 Payment Required贝塞尔曲线应用贝塞尔曲线在动画中有应用前端以及一些其他显示要求此外在路径规划过程中也会使用贝塞尔曲线进行规划好路径再优化我就是使用了后者进行优化规划好的路径使得机器行走更加顺畅不过使用中大家需要按照机器实际相应来进行调整t的精度以及阶数。由于贝塞尔曲线本身的数学表达式便是一条递归式所以决定采用递归的方式来实现。代码如下BezierCurve函数实现贝塞尔曲线迭代UseBezierOptimizePath函数的第二个参数进行控制使用的阶数最后调用opencv实现可视化效果。#include iostream #include opencv2/opencv.hpp #include opencv2/core.hpp #include vector using namespace cv; using std::cout; using std::endl; using std::vector;template typename T T BezierCurve(T src) {if (src.size()  1)return src;const float step  0.003;//1.0/stepT res;if (src.size()  1) {//递归结束条件for (float t  0; t  1; t  step)res.push_back(src[0]);return res;}T first_part{};T second_part{};first_part.assign(src.begin(), src.end() - 1);second_part.assign(src.begin()  1, src.end());T pln1  BezierCurve(first_part);T pln2  BezierCurve(second_part);for (float t  0; t  1; t  step) {typename T::iterator::value_type temp{};temp  pln1[cvRound(1.0 / step * t)] * (1.0 - t) ;temp  pln2[cvRound(1.0 / step * t)] * t;res.emplace_back(temp);}return res; } template typename T T UseBezierOptimizePath(T path,uint8_t order_number) {if(path.size()  order_number)return {};T new_path{};for(uint8_t i0;ipath.size()-(order_number-1);i(order_number-1)){T tmp  BezierCurve(T(path[i],path[ i  order_number]));new_path.insert(new_path.begin(),tmp.begin(),tmp.end());}return new_path; }int main(int argc, char const* argv[]) {while (1) {cout endl; cout endl; cout endl;       vectorPoint2f path;RNG rng;for (int i  1; i 8; i)path.push_back(Point2f(i * 800 / 8, random() % 800));//rng.uniform(0,800)));//cvRandInt(rng) % 800));Mat img(900, 1200, CV_8UC3);img  0;for(uint8_t i 0;i  path.size() -1;i) {cout path[i] , endl;line(img,Point(path[i].x, path[i].y),Point(path[i1].x, path[i1].y), Scalar(255, 0, 0), 16, LINE_AA, 0);}cout endl; //    imshow(line, img);for (int i  0; i  path.size(); i)circle(img, path[i], 3, Scalar(0, 0, 255), 10); //BGR//    vectorPoint2f bezierPath  bezierCurve(path);vectorPoint2f bezierPath  UseBezierOptimizePath(path,4);for (int i  0; i  bezierPath.size(); i) {//    circle(img, bezierPath[i], 3, Scalar(0, 255, 255), 3); //BGRimg.atcv::Vec3b(cvRound(bezierPath[i].y), cvRound(bezierPath[i].x))  { 0, 255, 255 };//    printf(pose(%f %f)\n,bezierPath[i].x,bezierPath[i].y);imshow(black, img);// waitKey(10);}if (waitKey(0)  q)break;}return 0; }显示效果如下三阶四阶结语这就是我自己的一些设不贝塞尔曲线的使用分享。如果大家有更好的想法和需求也欢迎大家加我好友交流分享哈。作者良知犹存白天努力工作晚上原创公号号主。公众号内容除了技术还有些人生感悟一个认真输出内容的职场老司机也是一个技术之外丰富生活的人摄影、音乐 and 篮球。关注我与我一起同行。‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
http://www.zqtcl.cn/news/233995/

相关文章:

  • 如何建立一家公司网站江苏网站推广公司
  • 城市管理如何宣传市建设网站cms软件有什么功能
  • 网站建设优势网站为什么吸引人
  • 域名如何做网站网站导读怎么做
  • 那些网站可以做问答免费设计室内装修app软件
  • 白银做网站视频制作软件下载安装
  • 商城网站建设最新报价现在网站建设的技术
  • 网站设计思路方案广东深圳软件开发公司
  • 企业网站可以免费做吗网站建设管理内容保障制度
  • 建立导购网站吴江区建设局网站
  • 东莞网站建设(信科分公司)青岛市北建设集团网站
  • 企业网站分类举例营销型网站建设市场
  • 自学app开发难吗长沙专业网站优化定制
  • 厦门做企业网站找谁wordpress4.7.10漏洞
  • 百科网站源码最好的免费logo设计网站
  • 北京做网站s如何做网站截流
  • 深圳摇号申请网站在线免费网站
  • 自己做网站用花钱吗广西建设四库一平台网站
  • 做网站建设一般多少钱做网站要买多少服务器空间
  • 天津网站优化哪家快惠民建设局网站是哪个
  • 大连做网站绍兴厂商商城网站数据库表关系设计
  • 公司网站制作第三方彭州做网站的公司
  • 青建设厅官方网站海省包装策划与设计专业
  • 中国城投建设集团网站手机网游
  • 通过音乐做网站外链企业所得税多少钱起征
  • 哪个网站系统做的好广州电子商城网站
  • 泉州模板建站定制成都网页设计培训机构
  • 个人微信公共号可以做微网站么免费产品推广软件
  • 建设银行瓶窑支行网站阿里域名官网
  • 宿迁网站seo中原建设信息网 网站