gpt4 book ai didi

matlab - 绘制不是函数图形的 3D 表面

转载 作者:太空宇宙 更新时间:2023-11-03 19:24:57 27 4
gpt4 key购买 nike

我有一个不是函数图的表面的 3D 数据集。数据只是 3D 中的一堆点,我唯一能想到的就是在 Matlab 中尝试 scatter3Surf 将不起作用,因为表面不是函数图。

使用 scatter3 得到了不太理想的结果,因为没有任何类型的透视/阴影。

有什么想法吗?它不一定是 Matlab,但这是我绘图的首选来源。

要了解我拥有的表面类型,请考虑以下四张图片: enter image description here

第一个是 3D 等高线图,第二个是等高线平面 {z = 1.8} 中的切片。我的目标是捡起所有红色区域。我有一种方法可以为每个切片 {z = k} 执行此操作。这是第三个情节,我很喜欢我在这里看到的。

在 z give 上迭代这个会得到一个表面,这是第四个图,它有点嘈杂(虽然我有减少噪音的想法......)。如果我只使用 scatter3 绘制黑色表面而没有轮廓,我得到的只是一个难以区分的黑色 Blob ,但对于每个切片我都会得到一条平滑的曲线,而且我注意到当我调整 z 时曲线变化非常平滑。

一些微调会给出更好的第 4 个图,但是,即使我让第 4 个图完全没有噪音,使用 scatter3 的结果仍然会当单独绘制而不是在 3D 轮廓的顶部时,是一个黑色的难以理解的 Blob 。我想获得未绘制在 3D 等高线图顶部的完整表面的漂亮图片

事实上,只是为了比较和显示 scatter3 对于曲面有多糟糕,即使您在球体上有精确的点并使用了 scatter3结果将是一个黑色的 Blob ,甚至看起来都不像一个球体

POV-Ray 能处理这个吗?我从来没有用过它...

最佳答案

如果您对点进行了三角剖分,可以考虑使用 trisurf 函数。我以前用它来生成没有边界的封闭曲面(例如多面体和球体)。缺点是您必须对您的点进行三角测量。这可能无法满足您的需求,但绝对是一个选择。

编辑:正如@High Performance Mark 建议的那样,您可以尝试使用 delaunay 在 Matlab 中生成三角剖分

关于matlab - 绘制不是函数图形的 3D 表面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12051451/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com