matlab - 如何在 MATLAB 中使用不规则间隔的数据制作冲浪图?

标签 matlab 3d plot

我知道我可以通过以下方式在 MATLAB 中创建 3D 曲面图:

x = linspace(1,10,100);
y = linspace(10,20,100);

[X Y] = meshgrid(x,y);

Z = X * Y;

surf(X,Y,Z);

但这要求生成的高度图的所有节点都排成一行。我有一组具有任意点 (x,y) 和高度 (z) 的数据。是否有一种简单的方法来绘制一个图形,该图形将以类似于 surf 的方式在点之间生成一个表面?

最佳答案

抱歉,经过一番搜寻,我设法回答了我自己的问题:

您可以使用trisurf 函数:

tri = delaunay(x,y);
trisurf(tri,x,y,z);

如果你有密集的数据,你会想要做shading interp(或其他值,检查doc shading)这样你就不会因为网格。

关于matlab - 如何在 MATLAB 中使用不规则间隔的数据制作冲浪图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2848015/

相关文章:

matlab - 在三维图中表示三个变量

matlab - MATLAB 教程中的 SIFT 实现

graphics - 在 Vulkan 中,您如何将每个单独的视频卡与它们直接连接的显示器相关联

3d - 对非平面多边形进行三角剖分

matlab - 使用matlab将球体投影到平面

r - 无法更改 boot() 结果的plot() 的主标题和x、y 标签

具有排序顺序的 MATLAB 图

r - 将比例标签添加到 levelplot 的边距

MATLAB 编译器运行时 (MCR) 编译器

python - 如何访问 numpy ndarray 的元素?