制作3d表面

时间:2012-09-05 11:37:36

标签: r 3d wolfram-mathematica geometry-surface

x时,我有yz=z1, z=z2 and z=z3的数据。 我想在3d图上绘制数据并用3d表面逼近曲线并知道表面的方程。 这会更容易在R或Mathematica上实现吗? 比如我怎么能用R做呢? 感谢

数据(示例):

For z=0
y   0.00    1.50    1.92    2.24
x   0.0000  0.0537  0.0979  0.2492

For z=2
y   0.00    2.21    2.83    3.07
x   0.0000  0.0173  0.0332  0.0655

For z=5
y   0.00    0.29    2.49    3.56
x   0.0000  0.0052  0.0188  0.0380

1 个答案:

答案 0 :(得分:5)

在Mathematica中:

假设你有一组点qt:

ListPointPlot3D[qt]

Mathematica graphics

您可以轻松构建插值函数:

Plot3D[Interpolation[qt][x, y], {x, -2, 2}, {y, -2, 2}, Ealuated -> True]

Mathematica graphics

如果您需要显式函数模型,可以提出一个并计算其参数:

model = a x^2 + b y^2;
fit = FindFit[qt, model, {a, b}, {x, y}];
Show[Plot3D[model /. fit, {x, -2, 2}, {y, -2, 2}, PlotRange -> All], 
     ListPointPlot3D[qt, PlotStyle -> Directive[PointSize[Medium], Red]]]

Mathematica graphics

修改

绘制漂亮的图表相当容易:

Mathematica graphics