资源简介
此代码可以实现GUI B样条的绘图,用户可以移动控制点实时改变B样条曲线,也可以删除控制点
代码片段和文件信息
% baseFunction.m文件
function Nik_u = baseFunction(i k u NodeVector)
% 计算基函数Nik(u)NodeVector为节点向量
if k == 0 % 0次B样条
if (u >= NodeVector(i+1)) && (u < NodeVector(i+2))
Nik_u = 1.0;
else
Nik_u = 0.0;
end
else
Length1 = NodeVector(i+k+1) - NodeVector(i+1);
Length2 = NodeVector(i+k+2) - NodeVector(i+2); % 支撑区间的长度
if Length1 == 0.0 % 规定0/0 = 0
Length1 = 1.0;
end
if Length2 == 0.0
Length2 = 1.0;
end
Nik_u = (u - NodeVector(i+1)) / Length1 * baseFunction(i k-1 u NodeVector) ...
+ (NodeVector(i+k+2) - u) / Length2 * baseFunction(i+1 k-1 u NodeVector);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 706 2019-04-25 16:02 draw_bspline\ba
文件 21128 2019-04-28 20:41 draw_bspline\curve2.fig
文件 2442 2019-04-30 15:07 draw_bspline\curve2.m
文件 687 2019-04-30 15:02 draw_bspline\delete_point.m
文件 1617 2019-04-29 11:34 draw_bspline\drag_point.m
文件 1062 2019-04-25 16:53 draw_bspline\DrawSpline.m
文件 703 2019-04-25 16:28 draw_bspline\U_piecewise_Bezier.m
文件 538 2019-04-25 16:02 draw_bspline\U_quasi_uniform.m
目录 0 2019-04-30 15:08 draw_bspline
----------- --------- ---------- ----- ----
28883 9
- 上一篇:水中声呐模型的简单建立Matlab代码
- 下一篇:多目标优化模型matlab
评论
共有 条评论