提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 定义函数 [x, y] = bezir_n(points, dots)
    • 参数介绍
    • bezir_n.m 源文件
  • 调用函数
    • 绘制3次曲线
    • 绘制9次贝塞尔曲线
    • 100 次贝塞尔曲线

定义函数 [x, y] = bezir_n(points, dots)

贝塞尔曲线由起点,终点,(n-1)个控制点组成。n 表示多项式最高次数。

参数介绍

  • points是一个数组,size = [2, n + 1]. 第一行定义为所有点的x坐标,第二行定义为所有点的y坐标。
  • dots是一个整数,表示这条曲线需要的点的数量。
  • x ,计算出的路径上所有点的x坐标。
  • y,计算出的路径上所有点的y坐标。

bezir_n.m 源文件

这个函数可以生成任意阶数,任意数量点数的贝塞尔曲线。所有代码 + 注释 + 空白不过36行,可见matlab强大之处。

function [x, y] = bezir_n(points, dots)% points format:%   size = [2, n + 1], including starting point & end point.% dots:%   generate dots points in the bezir curve.% check points sizen = length(points) - 1;if n < 1x = []; y = [];return;elseif n == 1x = points(1, :);y = points(2, :);return;else% calculate kk = [1 1];for i = 1 : (n - 1)k = conv(k, [1 1]);end% 计算tt = linspace(0, 1, dots);% x, y 由n + 1个多项式之和得到.x = zeros(size(t));y = zeros(size(t));for i = 1 : (n + 1)j = i - 1;ft = (1 - t).^(n - j).*(t.^j);x = x + points(1, i) * k(i) * ft;y = y + points(2, i) * k(i) * ft;endend
end

调用函数

函数的阶数,完全由输入的points决定,如果有10个点,那么函数就是9次的。

绘制3次曲线

下面代码中,points 第1行是x坐标,第2行是y坐标。
···
points = [
0 0 16 16; …
0 8 8 0 …
];

dots = 100;
[x, y] = bezir_n(points, dots);
plot(x, y, ‘-r’, points(1, : ), points(2, : ), ‘-b’);
···
图中,蓝色是由起点终点和控制点连起来的曲线;红色是绘制的贝塞尔曲线。
2个控制点分别是(0,8), (16, 8).

绘制9次贝塞尔曲线

points = [2, 0, 2, 0, 2, 4, 6, 4, 6, 4;  ...-4, -2, 0, 2, 4, 4, 2, 0, -2, -4 ...];dots = 100;
[x, y] = bezir_n(points, dots);
plot(x, y, '-r', points(1, : ), points(2, : ), '-b');

图中,蓝色是由起点终点和控制点连起来的曲线;红色是绘制的贝塞尔曲线。

100 次贝塞尔曲线

这里有101个坐标点,但完全采用随机生成的,因此看上去没什么规律。

points = randi(100, [2, 101]);
dots = 1000;
[x, y] = bezir_n(points, dots);
plot(x, y, '-r', points(1, : ), points(2, : ), '-b');
axis([-1, 101, -1 , 101]);

图中,蓝色是由起点终点和控制点连起来的曲线;红色是绘制的贝塞尔曲线。

matlab n次贝塞尔曲线相关推荐

  1. matlab 贝塞尔曲线,matlab实现贝塞尔曲线绘图pdf查看

    贝塞尔曲线绘图方法: %Program 3.7 Freehand Draw Program Using Bezier Splines %Click in Matlab figure window to ...

  2. 贝塞尔曲线 三维 拼接 matlab,贝塞尔曲线公式

    给出了用 2m-1 次贝塞尔曲线逼 近 2m 次贝塞尔曲线的封闭的计算公式,推广了文献[1]中给出的降一次逼近时 的误差估计公式,并得到了封闭的形式.为 CAD 系统的...... 第9期 机械设计与 ...

  3. matlab 贝塞尔曲线,基于MATLAB动态实现Bezier曲线几何作图.pdf

    基于MATLAB动态实现Bezier曲线几何作图.pdf 2015年 1月 黑龙江生态工程职业学院学报 Jan.2O15 第28卷第 1期 JournalofHeilongjiangVocationa ...

  4. 贝塞尔曲线(Bezier Curve)原理、公式推导及matlab代码实现

    1. 定义 贝塞尔曲线(Bezier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线.一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点, ...

  5. Bezier(贝塞尔)曲线的轨迹规划在自动驾驶中的应用(二)

    根据(一)中的理论前提,我们通过matlab进行一次仿真验证: clcclear allp0 = [ 0, 0];p1 = [10,0.5];p2= [20,3.5];p3 = [30,4];%设置控 ...

  6. 【LVGL笔记】-- 贝塞尔曲线绘制

    什么是贝塞尔曲线 贝塞尔曲线(Bézier Curve,也被称为贝塞尔多项式(Bézier Polynomial),是由一系列控制点(Control Point)所定义的一条平滑曲线.Pierre B ...

  7. 【路径规划】贝塞尔曲线平滑路径

    贝塞尔曲线一般是用于二维图形的一种数学曲线,一般是用于一些矢量图的设计,不过在路径规划中,也可以应用上,例如之前的RRT随机搜索算法,因为是随机搜索,因此得到的路径点的曲折度是很大的,除了RRT,在其 ...

  8. php 贝瑟尔曲线,贝塞尔曲线的应用详解

    简介 贝塞尔曲线是可以做出很多复杂的效果来的,比如弹跳球的复杂动画效果,首先加速下降,停止,然后弹起时逐渐减速的效果. 使用贝塞尔曲线常用的两个网址如下: 缓动函数: cubic-bezier: 如何 ...

  9. 贝塞尔曲线动画demo(仿美人相机效果)

    效果如图: 仿美人相机,手势滑动隐藏顶部view.为了方便讲解,将屏幕分为几个区域,如图: 在拖动过程中: 1.拖动距离小于minMoveDistance,贝赛尔曲线发生形变 2.拖动大于minMov ...

  10. 自定义View合辑(8)-跳跃的小球(贝塞尔曲线)

    为了加强对自定义 View 的认知以及开发能力,我计划这段时间陆续来完成几个难度从易到难的自定义 View,并简单的写几篇博客来进行介绍,所有的代码也都会开源,也希望读者能给个 star 哈 GitH ...

最新文章

  1. $@ 与 $* 差在哪?
  2. 开源工程师:Ubuntu 应该抛弃 32 位 ISO 镜像
  3. oracle的cols,Oracle cols_as_rows 比对数据
  4. VS2008+Windows DDK 7的环境配置(二)
  5. mac远程连接centos安装mysql_centos安装Mysql并远程连接
  6. 开源︳Quicksilver for Mac(键盘启动工具)V1.6.1免费版
  7. iPhone 13将减产1000万部,因特定芯片供应不足
  8. dex、apk完整性校验
  9. 咱也过个双 11 !Flink Forward Asia 培训门票买一赠一!
  10. 深入理解Nginx~优化性能的配置项
  11. html表格 超链接无效,excel表格超链接失效的解决方法
  12. 接口自动化测试实践指导(上):接口自动化需要做哪些准备工作
  13. matlab 双曲线拟合,利用MATLAB进行logistic曲线拟合
  14. Global Sensing and Measurements Reuse for Image Compressed Sensing
  15. WCF+SQL Server 2008 明源售楼系统项目解析
  16. 全局记录RabbitMQ的消费者消息日志
  17. 零基础入门金融风控-贷款违约预测_Task1
  18. 2018新版个税计算器---Python实现
  19. 千里马Android Framework-Binder通信总结流程图
  20. 不可抗力/(ㄒoㄒ)/~~ 开始学习node全栈<四>express Web框架

热门文章

  1. 如何打开计算机控制面板,控制面板怎么打开?
  2. no.10京东咚咚架构演讲读后感
  3. 2010年6月3日晚18点23分
  4. 登录功能的测试点大全
  5. GoLang json格式化输出
  6. Elasticsearch地理位置总结
  7. Android10照片地理位置,华为手机怎么让拍摄照片显示地理位置
  8. 银行家算法和安全性算法笔记
  9. 74HC573并联输出
  10. MS08067红队攻防第一期班 精彩回顾~