下面三个公式分别是一次、二次和三次贝塞尔曲线公式:

通用的贝塞尔曲线公式如下:

可以看出,系数是由一个杨辉三角组成的。

这里的一次或者二次三次由控制点个数来决定,次数等于控制点个数-1。

实现的效果如下:

代码如下:

clear all;

close all;

clc;

p=ginput();

plot(p(:,1),p(:,2),'b-o');

N=length(p); %确定贝塞尔阶数(控制点个数-1)

t=zeros(N,N);

M=100; %确定贝塞尔曲线点的个数

%计算杨辉三角

for i=1:N

t(i,1) = 1;

t(i,i) = 1;

end

if N>=3

for i=3:N

for j=2:i-1

t(i,j) = t(i-1,j-1)+t(i-1,j);

end

end

end

%根据公式计算贝塞尔曲线

re=zeros(M,2);

for i=1:M

step = i/M;

for k=0:N-1

re(i,1) = re(i,1) + (1-step)^(N-k-1)*p(k+1,1)*step^k*t(N,k+1); %t替换为nchoosek(N-1,k),不用计算杨辉三角了;

re(i,2) = re(i,2) + (1-step)^(N-k-1)*p(k+1,2)*step^k*t(N,k+1); %t替换为nchoosek(N-1,k),不用计算杨辉三角了;

end

end

hold on;

plot(re(:,1),re(:,2),'r');

注意,运行时要先点几下输入控制点,然后按回车键来进行确认。

参考:

matlab画贝塞尔曲线给出图题,matlab练习程序(贝塞尔曲线)相关推荐

  1. matlab画平行x轴的图,【MATLAB】画平行于坐标轴的曲线

    用MATLAB画函数的曲线 用MATLAB画函数曲线 2013年8月11日 命令funtool 这是单变量函数分析的交互界面,比较方便,特别适用于y=f(x)型,即y与x分开的函数形式.见下图 mat ...

  2. matlab画虫口模型分岔图,[转载]Matlab——混沌分岔图

    经过近期的研究发现,目前对于系统单参数分岔图的计算共有以下的几种方法: 1)最大值法 即对系统微分方程(组)进行求解,对求解的结果用getmax函数进行取点,并绘图. 2)Poincare截面法 对系 ...

  3. matlab求直线斜率程序,使用matlab实现批量线性回归并出图(需要得到每条拟合直线斜率、截距以及R)...

    使用matlab实现批量线性回归并出图(需要得到每条拟合直线斜率.截距以及R) 我只会使用origin对多组数据进行线性回归,不会用matlab.现在数据比较多,大约100多组,我想请大家帮忙,能不能 ...

  4. MATLAB的几种常用出图方式

    MATLAB的几种常用出图方式 最近写文经常使用MATLAB绘图.出图,略作总结以备以后使用. 一.图片来源-MATLAB绘图或者读取文件 1.绘图 绘图不写了,根据需要选取函数作图吧,这里给个简单的 ...

  5. cad详图怎么画_初学CAD如何能画的快,出图迅速?15个小技巧分钟成高手

    初学CAD是不是总羡慕他人,既能画的快!还能很准确的出图,如果你也想成为这样的高手,应该怎么做呢? 循序渐进,掌握绘图的精髓,相信短时间你也能有这样的造诣,这里楼主就跟你总结新手入门必用的技巧,一起看 ...

  6. matlab画柱坐标系,[合集]有人知道怎样用matlab画柱坐标3维图 - 程序设计(Programming)版 - 北大未名BBS...

    ─────────────────────────────────────── 作者cyivan (Ivan), 信区: AlgoDesign 标题有人知道怎样用matlab画柱坐标3维图形吗? 时间 ...

  7. 用matlab对称振子E面方向图,利用matlab绘制电基本振子e面方向图和空间立体方向图.doc...

    利用matlab绘制电基本振子e面方向图和空间立体方向图.doc 微波技术与天线实验报告学院:信电学院班级:通信2班姓名:学号:2014年4月29日1利用matlab绘制电基本振子E面方向图和空间立体 ...

  8. 在线使用Octave、Matlab画单电荷等位线和电力线、matlab的nonconformant arguments错误

    如下代码,据说是matlab画单电荷等位线和电力线的: theta=[0:.01:2*pi]'; r=0:10; x=sin(theta) * r; y=cos(theta)*4; plot(x,y, ...

  9. matlab画一个树,搞气氛!用MATLAB画一棵Bling Bling的圣诞树

    0.前言 马上圣诞节了,今天推一篇用MATLAB画圣诞树的,效果如下图所示: 1.准备工作 因为这次用的是MATLAB,不像PYTHON一样需要装一些依赖库,要实现本文的效果,只需安装MATLAB即可 ...

  10. matlab画多组数据折线图_Python数据分析之初识可视化

    一.数据可视化概述 数据可视化是在整个数据分析非常重要的一个辅助工具,可以清晰的理解数据,从而调整我们的分析方法. - 能将数据进行可视化,更直观的呈现 - 使数据更加客观.更具说服力 例如下面两个图 ...

最新文章

  1. 学习-现代交换原理与通信技术
  2. SQL Server 2005故障转移群集
  3. python的第三方库-Python第三方库安装和卸载
  4. 【错误记录】Ubuntu 安装软件报错 ( Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource tempora )
  5. 67.数据库系统的三级模式
  6. html5播放视频只有声音不出现画面?
  7. SQLSERVER中的自旋锁
  8. Android 中像素px和dp的转化
  9. 云计算实战系列一(走进linux)
  10. matlab微带带通滤波器,小型化宽阻带微带带通滤波器的设计方案
  11. C根据输入的城市坐标求各城市间的距离
  12. Windows7系统无损分区的教程
  13. 2022年羊城杯wp
  14. processson的文件数量已达到上限如何删除老文件新建新的文件创建流程图
  15. MMORPG的常规技能系统
  16. 解决每次新建word都有页眉和页脚
  17. C语言编写程序:判断某年份是否为闰年
  18. 湘潭大学oracle上机试题,湘潭大学计算机考题2010
  19. 如何保护您的网站免受恶意软件的侵害
  20. 手把手教您搭建AR应用开发环境

热门文章

  1. 金蝶加密服务器出现系统错误,金蝶KIS访问加密服务器失败,可能加密服务器未启动,错误代码5...
  2. 单阶段目标检测算法YOLOv3
  3. 你的下一台电脑何必是电脑,探索不一样的远程操作
  4. IOS对自动播放语音视频做了限制,h5如何实现间隔一段时间自动播放语音
  5. Python map函数 <map object at 0x000001C5CDCDA2B0>
  6. python win32gui模块详解_Python笔记_第二篇_基本功_4.常用模块的简单使用_窗体控制模块(win32con、win32gui)...
  7. 财路网每日原创推送:区块链的“三围”了解
  8. Oracle试卷02
  9. Android虚拟机报错解决方法
  10. moya + RxSwift 进行网络请求