【问题标题】:Intersection 3D meshes python交叉 3D 网格 python
【发布时间】:2018-07-23 10:32:33
【问题描述】:

我刚开始使用面向有限元分析的 3D 网格。我想在立方体状矩阵中模拟材料的夹杂物(任何形状,但主要对球体和椭圆体感兴趣)。这些夹杂物不应彼此重合。

所以我想为 python 使用某种包,它可以绘制原始对象,查找它们的交集(如果存在)并导出几何图形(或对其进行网格化并导出它)。对于球体,我正在编写自己的解决方案,但我认为将其扩展为球体以外的任何其他形状都非常困难。

在寻找合适的库/模块几天后,我无法决定应该使用哪一个。

我想使用 python 作为主要语言,因为它很简单,开源并且我已经知道了一点。 因此检查了这个链接:Good geometry library in python?

但是:

  • 同情。它似乎只适用于 2D 对象。
  • pyeuclid。在其谷歌代码页中看起来已停产。
  • CGAL。它似乎是最先进的,但我找不到它是否有交叉点。
  • 几何简单。也停产了,我相信它不能处理 3D 对象。
  • pythonocc。缺乏文档是这里的一个重要问题。
  • 打开网格。这似乎是一个不错的选择,但我看不出它是否有交叉点。

我可能缺少一些功能或库。对不起。

如果真的有必要和有用,我可以尝试使用 C++,它似乎有更多的几何库,如 hereherehere 中所述。 另外,我想我应该提到我主要在 Windows 10 上工作,我在 Linux 方面的经验很少,但我可以挑战自己。

总结我的问题:python 中是否有任何好的库(如果可能)可以找到 3D 对象之间的交集?我错过了我应该知道的任何功能或库吗?对于正确方向的任何建议,我将不胜感激。

提前非常感谢!

【问题讨论】:

  • 我喜欢你精心设计的问题。但恐怕,事实上,它是off topic for SO
  • 嗨@Mr.T 真可惜....我会尝试重新编写它,也许更多地关注软件。也许gmsh。非常感谢!

标签: python intersection mesh primitive


【解决方案1】:

您可能想查看pygalmesh(离开我的动物园)。它与 CGAL 接口,因此使用水平集函数进行网格构造。实现了所有域组合(交叉点、联合、差异)。

【讨论】:

  • 非常感谢您的回答@Nico。这似乎是我的问题的一个很好的解决方案!问候
猜你喜欢
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多