Mathematica通过一系列点拟合B样条函数的方法

 时间:2024-11-10 21:03:09

本文,用BSplineFunction来拟合曲线或者曲面。

Mathematica通过一系列点拟合B样条函数的方法

工具/原料

电脑

Mathematica11+

方法/步骤

1、给出一系列平面上的点:a=RandomReal[{-5,5},{36,2}]

Mathematica通过一系列点拟合B样条函数的方法

2、用BSplineFunction来拟合这些点:f=BSplineFunction[a]

Mathematica通过一系列点拟合B样条函数的方法

3、函数的定义域是0到1;函数的输出值是一个二元向量:f[0.366]

Mathematica通过一系列点拟合B样条函数的方法

4、在平面里面,用折线段连结a里面的点:Graphics[{Red,Point[a]巳呀屋饔,Green,Line[a]},Axes->True]

Mathematica通过一系列点拟合B样条函数的方法

5、加画f的图像:Show[Graphics[{Red,Point[瞢铍库祢a],Green,Line[a柯计瓤绘]},Axes->True],ParametricPlot[f[t],{t,0,1},PlotStyle->Blue]]

Mathematica通过一系列点拟合B样条函数的方法

6、第二个例子,给出一组三维直角坐标点:a=RandomReal[{-5,5},{10,3,3}]

Mathematica通过一系列点拟合B样条函数的方法

7、拟合出B样条函数f,但是不封闭:f=BSplineFunction[a,SplineClosed->False]

Mathematica通过一系列点拟合B样条函数的方法

8、画出曲面图形:aa=绯摺驼予ParametricPlot3D[f[u,v],{u,0,5/6},{v,0,1},PlotStyle->Gre髫潋啜缅en,Axes->False,Boxed->False]

Mathematica通过一系列点拟合B样条函数的方法

9、拟合封闭的B样条函数f:f=BSplineFunction[a,SplineClosed->True]

Mathematica通过一系列点拟合B样条函数的方法

10、封闭的曲面如下图。

Mathematica通过一系列点拟合B样条函数的方法

matlab能求表达式的模吗 MATLAB中创建矩阵,多矩阵对应元素的判断 如何在matlab中使用多维数组? MATLAB中怎么把矩阵写入txt文档中去啊 在matlab中如何进行特征值的分解?
热门搜索
道奇战斧图片 卿本佳人电影 no的图片 鸿运当头花图片 工具箱图片