主要内容

构造二维和三维样条曲线

方法的使用cscvn命令从曲线拟合工具箱™构建三次样条曲线在二维和三维。

选择点

这个例子将展示如何按照点出现的顺序,通过点列表绘制平滑曲线。首先,我们在平面上随机选择一些点,并将它们存储在一个矩阵中,每个点一个点

NPTS = 10;Xy = [randn(1,npts);randn (npt)];情节(xy (1:), xy (2:)“罗”“线宽”2);文本(xy (1:), xy (2:), [repmat (' ',npts,1), num2str((1:npts)')]) ax = gca;斧子。XTick = [];斧子。YTick = [];

图中包含一个轴对象。axis对象包含11个类型为line, text的对象。

连接点

接下来,使用cscvn命令和绘图使用fnplt

持有fnplt (cscvn (xy),“r”, 2)

图中包含一个轴对象。axis对象包含12个line, text类型的对象。

你也可以使用getcurve命令,如果您想交互式地输入点列表。

三维样条曲线

在三维空间中创建样条曲线也很简单。这一次,我们要做一些不那么随机的事情。首先,我们生成点。

NPTS = 13;T = linspace(0,8*pi,npts);Z = linspace(-1,1,npts);Omz =√(1-z.^2);Xyz = [cos(t).*omz;的罪(t) * omz;z];xyz: plot3 (xyz (1), (2,:), xyz (3:)“罗”“线宽”2);文本(xyz (1:), xyz (2:), xyz (3:), [repmat (' ',npts,1), num2str((1:npts)')]) ax = gca;斧子。XTick = [];斧子。YTick = [];斧子。ZTick = [];盒子

图中包含一个轴对象。axis对象包含14个类型为line, text的对象。

连接点

这里是通过这些点提供的三维样条曲线cscvn.通过将第一个点附加到列表的末尾,我们得到一个平滑的结果关闭曲线。

持有fnplt (cscvn (xyz(:[1] 1:结束)),“r”, 2)

图中包含一个轴对象。axis对象包含15个line, text类型的对象。