主要内容

在2D和3D中构造样条曲线

这个例子展示了如何使用cscvn命令来构造二维和三维的三次样条曲线。

选择的点

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

《不扩散核武器条约》= 10;xy = [randn (npt);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命令,以交互方式输入点数列表。

三维样条曲线

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

《不扩散核武器条约》= 13;t = linspace(0 8 *π,《不扩散核武器条约》);z = linspace(1, 1,《不扩散核武器条约》);omz =√6 (1 - z ^ 2);xyz = [cost . * 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的对象。