画平滑曲线 & 曲线加粗

画平滑曲线(插值):

values = spcrv([[x(1) x x(end)];[y(1) y y(end)]],3);
plot(values(1,:),values(2,:))


曲线加粗:

plot(values1(1,:),values1(2,:),'LineWidth',3);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
spcrv是Matlab中的一个特殊命令,它可以用于生成插值样条曲线。给定一个平面中的点序列和可选的阶数k,spcrv会通过重复中间节点插值生成k阶样条曲线,其中控制多边形由给定的序列指定。可以使用plot函数来绘制控制多边形和样条曲线。例如,以下代码将绘制一个包含8个点的控制多边形和一个3阶样条曲线: points = [0 0; 1 0; 1 1; 0 2; -1 1; -1 0; 0 -1; 0 -2].'; values = spcrv(points,3); plot(points(1,:),points(2,:),'k'); axis([-2 2.25 -2.1 2.2]); hold on plot(values(1,:),values(2,:),'r','LineWidth',1.5); legend({'Control Polygon' 'Quadratic Spline Curve'}, 'location','SE'); hold off 通过在控制点(1,0)附近添加点(.95,-.05),可以创建一条更快转弯的插值样条曲线。以下代码将绘制一个包含9个点的控制多边形和一个3阶插值样条曲线: np = size(points, 2); fnplt(cscvn([ points(:,1) [.95; -.05] points(:,2:np) ]), 'm',1.5); plot(.95,-.05,'*'); legend({'Control Polygon' 'Quadratic Spline Curve' ... 'Cubic Spline Curve' 'Interpolating Spline Curve' ... 'Faster Turning Near (1,0)'}, ... 'location','SE'); 另一方面,要获得插值曲线,可以使用cscvn命令,该命令提供参数化的“自然”三次样条曲线。以下代码将绘制一个包含8个点的控制多边形和一个自然样条曲线: fnplt(cscvn(points), 'g',1.5); legend({'Control Polygon' 'Quadratic Spline Curve' ... 'Cubic Spline Curve' 'Interpolating Spline Curve'}, ... 'location','SE');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值