python scatter 三维曲面_用python实现二维曲面三维点的Delaunay三角剖分?

更新2

我现在这样做:我使用的事实是,每个z切片中的路径都是封闭且简单的,并使用matplotlib.path来确定轮廓内外的点。利用这种思想,我将每个切片中的轮廓转换为布尔值图像,并将其组合为布尔值体积。

接下来,我使用^{}'s ^{}方法获得曲面的三角剖分以进行可视化。

这里有一个方法的例子。我认为数据略有不同,但你可以肯定地看到,结果要干净得多,可以处理断开连接或有孔的表面。

ZgQqbtU.png

更新1(仍然错误)

我应该为将来遇到它的人更新这个。虽然上面的方法大部分时间都在工作,但它确实假设(通过球面坐标变换)没有两点位于同一条射线上。如果您注意到上面图像左中角的工件,这就是原因。

一个更好的方法是在表面上做“手术”。把表面想象成一个橘皮,你把它切成一边,然后张开,伸展开来。然后你有一个二维平面,你可以三角化和插值。你只需要跟踪如何回到3D中相应的位置,实现这个想法需要相当多的工作,而且实现还需要特别注意如何表示我的数据。

不管怎样,这只是为了说明一个人如何更有力地处理这个问题。

原始答案

好吧,这是我想出的解决办法。这在很大程度上取决于我的数据是大致呈球形的,而且我认为在z方向上采样是一致的。其他一些评论提供了关于更健壮解决方案的更多信息。由于我的数据是大致球形的,所以我通过数据点的球面坐标变换来三角化方位角和天顶角。import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d im

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值