这个例子展示了如何使用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 = [];
方法构建曲线cscvn
使用命令和绘图fnplt
.
持有在fnplt (cscvn (xy),“r”, 2)从
你也可以用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 = [];盒子在
这里是三维样条曲线通过这些点提供cscvn
.通过将第一个点附加到列表的末尾,我们得到了一个平滑的关闭曲线。
持有在fnplt (cscvn (xyz(:[1] 1:结束)),“r”, 2)从