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