资源简介

对给定的离散点,拟合成B样条曲线,再求曲线曲率

资源截图

代码片段和文件信息

 clear;clc;close all;
xx=[-1  0  3  5  8  9 ];
yy=[1  7  -4  0  7  3  ];    %给定6个点



sp=spline(xxyy);    % spline(xy)  曲线插值    

x=xx(1):0.01:xx(length(xx));      %通常取x(1)至x(n)?
y=ppval(xsp);    % ppval(  )   分段多项式的值  y的值变为数组y()

subplot(311)
for i=1:length(xx)
   plot(xx(i)yy(i)‘b*‘) 
   hold on
end
plot(xy‘r‘);
grid on
title(‘B样条插值曲线‘)
  
   for i=1:(length(x)-1)
       dx(i)=x(i+1)-x(i);
       dy(i)=y(i+1)-y(i);
       dddy(i)= dy(i)/dx(i);
   end
     
 
   for i=1:(length(x)-2)
       ddx(i)=dx(i+1)-dx(i);
       ddy(i)=dy(i+1)-dy(i);
       K(i)=(dx(i)*ddy(i)-dy(i)*ddx(i))/((dx(i)*dx(i)+dy(i)*dy(i))^1.5);
   end   
  subplot(312) 
     ud=linspace(xx(1)xx(length(xx))(length(x)-1));
     plot(uddddy)
     grid on
  title(‘曲线斜率变化图‘)
  
  subplot(313)
  uu=linspace(xx(1)xx(length(xx))(length(x)-2));
  plot(uuK)
  grid on
   title(‘曲线曲率变化图‘)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         962  2020-11-17 17:17  B-Spline_qulv.m

评论

共有 条评论