问题标签 [pymesh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
72 浏览

pymesh - pymesh collapse_short_edges 函数使网格为空

我想问一下pymesh问题,不知道是不是bug。当我打电话时

它打印出来如下:

所以在“collapse_short_edges”函数之后,网格不再有任何面或顶点。它发生在我的一些网格上。我们如何解决这个问题?

0 投票
2 回答
1619 浏览

python - 在 Python 中创建二维非矩形形状的三角形网格

假设我有一组点定义了二维平面中非矩形形状的周长。

我需要一个函数来创建三角形网格,我可以在其中修改三角形单元格的数量并返回每个单元格的 (x,y) 坐标。

谢谢你。

0 投票
1 回答
273 浏览

python - 合并两个 3d 对象时删除内部信息

嗨,我目前正在开展一个项目,我们必须组合多个 3d 对象。因此,例如将它们彼此相邻放置,有时它们也会相交。

我正在寻找一种算法/库或任何可以将这个新合并对象减少为仅由外表面组成的想法。(我们的 3d 对象目前是 .stl 文件,但我们不受此格式的约束)

我们已经尝试将这些对象与 numpy-stl 组合,但似乎这个库没有任何优化可以帮助解决这个问题。我们还尝试使用来自 pymesh 的布尔合并,但这需要非常多的时间来处理详细的对象。

我们希望释放对象内部的所有信息,只保留外部的信息。因此,例如,如果您将这个组合的 3d 对象放入水中,我们只需要会被水触及的面。

我们更喜欢 python,但任何可以在 python 中实现的算法都会让我们前进。

我们感谢每一个答案:)

0 投票
1 回答
262 浏览

python - Pymesh 布尔联合内存泄漏

尝试在循环中运行pymesh.boolean函数时出现错误。我有一个循环,里面有 pymesh 网格和布尔联合操作。错误发生在engine.compute_union()的pymesh/boolean.py中并导致MemoryError: std::bad_alloc

从https://hub.docker.com/r/pymesh/pymesh安装 pymesh

提前感谢您的帮助!

0 投票
1 回答
6255 浏览

python - 如何从存储为 numpy 数组的顶点创建点云文件(.ply)?

我有一些顶点的坐标存储为 NumPy 数组。

xyz_np:

我想将这些顶点保存为点云文件(例如 .ply)并在 Blender 中可视化。

我没有人脸信息。

0 投票
2 回答
406 浏览

python - 如何通过计算确定一个点是在 3D 模型内部还是外部

我有一个 3D 模型的 .obj 和 .ply 文件。

我想要做的是阅读这个 3D 模型文件并查看 3D 坐标列表是在 3D 模型空间内部还是外部。例如,如果 3D 模型是一个半径为 1 的球体,则 (0,0,0) 将在内部 ( True),而 (2,0,0) 将在外部 ( False)。当然,我使用的 3D 模型并不像球体那么简单。

我想添加一些我考虑使用的方法。由于我使用的是 Python,因此我想到了使用 PyMesh,因为它们的交集功能看起来很有希望。然而,我拥有的坐标列表不是网格文件,而只是向量,所以它似乎不是合适的函数。

我还发现了这种使用光线投射的方法。但是,我需要建议如何使用 PyMesh 或任何其他 Python 工具来做到这一点。

0 投票
1 回答
160 浏览

python-3.x - PyMesh 中是否有计算体积的函数?

我正在尝试计算 pymesh 中的交叉点的体积。从 PyMesh 网站上的 MWE https://pymesh.readthedocs.io/en/latest/mesh_boolean.html给出intersection,我想知道如何计算体积?

我尝试从https://pymesh.readthedocs.io/en/latest/basic.html?highlight=volume#mesh-data-structure访问属性列表,但是我唯一可用的属性是:

PyMesh 是否有能力计算这个交叉点的体积(或任何通用网格)?

0 投票
1 回答
242 浏览

python - 为什么 Pymesh 布尔运算在我简单的几何设置中非常慢?

我正在测试 pymesh 中布尔运算的效率,以查看它计算布尔值的速度。但是与libigl 论文相比,我使用默认引擎获得的性能非常慢

0.25 s 计算 8616 个网格的自联合。

我做了一个与一个小的原始盒子相交的纹理网格的实验。纹理有 12 个顶点,原始框有 8 个顶点。谷物的位置刚好在盒子的一张脸的上方。计算这两个对象的交集用了 0.036 秒。

这么简单的计算,为什么需要 0.036 秒?在执行此布尔运算时,将我们的 Libigl pymesh 作为引擎,它是用 C++ 编写的。我是否必须用 C++ 编写代码才能直接使用 Libigl 才能获得类似的性能?

这些结果是在以下环境中产生的:

  • 处理器:2.3 GHz 双核 Intel Core i5
  • 内存:8 GB 2133 MHz LPDDR3
  • 操作系统:Mac OS Catalina 10.15.7
  • IDE:Visual Studio 代码、Jupyter Notebook
  • Python版本:3.7.5
  • Pymesh 版本:pymesh2==0.3
0 投票
1 回答
63 浏览

python - Sklearn 和 Pymesh 导入导致冲突

我正在使用 PyMesh 处理 3D 网格。pip install pymesh2有构建错误。因此,我从官方 github页面的另一个版本安装。我正在使用pymesh2-0.3-cp36-cp36m-linux_x86_64.whl. 我使用 pip install 安装了 scikit-learn。两者都成功安装在我的系统中。在导入它们时,我发现了一些奇怪的东西。在导入 Pymesh 和 Sklearn 时。Pymesh 正确导入。Sklearn 不是 在此处输入图像描述 在导入 Sklearn 和 Pymesh 时。Sklearn 正确导入。Pymesh 不是 在此处输入图像描述 似乎这两个包相互冲突!有人可以帮我解决问题和任何可能的解决方案吗?

0 投票
0 回答
161 浏览

windows - PyMesh 在 Windows10 上的设置问题和使用 Docker 版本时出错

我想在 Windows 10 PC 上安装 PyMesh,如果可能的话,它应该安装在我们使用的 IDE 随附的解释器的侧包中。

我尝试了运行此处描述的设置的方式 https://pymesh.readthedocs.io/en/latest/installation.html

所以这部分: git clone https://github.com/PyMesh/PyMesh.git cd PyMesh git submodule update --init 没有任何问题。

我不确定在 Windows 上我现在是否可以写 set PYMESH_PATH = path 并且我是否可以在这里使用路径“...\PyMesh\PyMesh”?所以我省略了这部分

我安装了 numpy 和 scipy(已经安装)和鼻子,因为它在 requirements.txt 中提到。所以我的 numpy scipy 和 nose 版本是 numpy 1.19.1 scipy 1.6.0 nose 1.3.7 (与要求相同)

并且只需使用管理员权限运行 setup.py python .\setup.py install 这似乎也可以工作,但我在尝试 python -c "import pymesh; pymesh.test()"
从 PyMesh 文件夹中出现错误,说 ModuleNotFoundError: No module命名为“PyMesh”

或者如果我上一个文件夹做同样的事情 AttributeError: module 'PyMesh' has no attribute 'triangle'

我找到了这个链接ImportError: No module named PyMesh 但我只是不知道我应该在那里输入什么

我尝试使用 pip install pymesh 通过 pip 安装,但 pip Installer 给了我一个不同的库。

所以我尝试了 docker 版本,在 docker 中我尝试了 pymesh.load_mesh 方法和 stl 文件,但得到了 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXXXX escape

我不知道这是否只是 stl 格式(期望二进制文件获取 ascii,反之亦然) stl 文件本身可以打开,因此不应损坏。

那么有没有不同的方法来安装pymesh?一个轮子会很棒。是否可以将 pymesh 安装到给定解释器的侧包中?其他人是否已经在 Docker 中遇到过同样的错误并且知道这个问题

谢谢您的帮助