问题标签 [trimesh]

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 回答
70 浏览

python - 检查 3D 网格是否从上到下填充

我有一个用于表示形状/网格的 3D 网格,它使用 bool 类型的 ndarray(20,20,20) 在 python 中表示。网格中的每个元素代表材料的存在或不存在。我希望能够检查给定的网格是否代表从网格顶部一直连接到底部的形状。我希望能够丢弃那些断开连接或不占用从网格顶部到底部的连续单元格的那些。

在稍后阶段,我使用 trimesh 将网格转换为网格。有什么方法可以直接在 python 中或通过 trimesh 识别上述内容?

0 投票
2 回答
159 浏览

python - 从网格中选择顶点以解析为脚本的参数

我制作了一个 Python 脚本,它采用网格和顶点索引来应用操作。不幸的是,Trimesh - 我用来处理网格的库 - 没有通过单击来选择顶点的选项。

是否可以直观地选择网格上的顶点,获取该顶点上的标识符并将其传递给另一个脚本?是否值得使用 Meshlab 或 Blender 之类的第三方程序来选择该输入,还是我错过了更明显的路线?

0 投票
0 回答
53 浏览

algorithm - 具有实心/空叶的 3D 二进制空间分区

我最近开始研究用于实时碰撞检测的 BSP,现在我正在研究提高我的解决方案的性能。

我实现的系统与维基百科(https://en.wikipedia.org/wiki/Binary_space_partitioning)上的解决方案非常相似,其中每个节点都包含位于节点超平面上的三角形,以及对找到的两个节点的引用在超平面的每一边。

BSP生成伪代码:

这意味着对于光线投射,我遍历从前到后排序的超平面,并确定我的光线是否击中每个超平面上找到的任何三角形。

BSP 光线投射伪代码:

然而,该系统需要使用射线-三角形相交确定,这是一个昂贵的过程。更糟糕的是,您迭代的三角形很有可能被射线遗漏,这导致需要执行相对大量昂贵的射线投射,然后才能找到最接近修剪的命中。

我可以使用哪些方法来优化我的 BSP 结构和遍历?

0 投票
0 回答
1627 浏览

python - 使用 PyRender 或类似的 Python 库手动纹理网格?

我有一个房间的部分网格,我试图用从它的特定相机视图拍摄的图像来纹理化。我pyrender用来做渲染。.obj如果我从已经纹理化的文件中加载网格,渲染会正确显示纹理。但是,当我采用无纹理网格并尝试添加单个图像纹理时,它会呈现为纯色。

这是我用于获取网格顶点/面并构建纹理 pyrender 网格对象的代码:

如果给定文件中带有纹理的网格,则渲染管道的其余部分可以正常工作.obj。事实上,我知道所有顶点的uv坐标都在图像边界内,但并非所有图像都被使用(因为网格有一些间隙)。关于这里可能出了什么问题的任何想法,或者关于如何使用另一个库对网格进行纹理化的任何建议?

谢谢!

0 投票
1 回答
750 浏览

python - 使用 trimesh 从 glb 文件加载网格

我是 3D 几何的新手。我正在尝试使用 python 库 trimesh 从 glb 文件中提取网格。我想不出这样做的正确方法。我的要求是我需要一个对象的 3D 网格(作为邻接矩阵),以便我可以在它们上应用非欧几里得卷积算子。

关于我应该看什么的任何建议?

0 投票
1 回答
2683 浏览

3d - 合并两个 3D 网格

我想知道将两个网格(使用修剪网格构建)并将它们合并在一起的最佳方法是什么。这个想法是识别每个网格上的一个面,并使用这两个面将两者连接起来。

0 投票
1 回答
372 浏览

python - Python 中 Trimesh 模块的 .to_planar() 函数将 Path2D 保存为 .PNG 或 .JPEG

我的主要目标是获取 STL 文件的图纸视图。我尝试了将 STL 文件转换为 SLDPRT 的 SolidWorks 方法,然后获取工程视图,但在这种情况下,工程视图包含很多噪音并且不准确。所以,我正在尝试 Trimesh 模块。到目前为止,与

并通过更改 Plane_normal 数组值,我得到了所需的横截面(这有点类似于三个视图),但我不知道如何将 Spyder 控制台中显示的图像保存为 JPEG 或 PNG。我需要绘图视图以进行进一步的图像分析。

任何有关此方法或任何其他获取图纸视图的方法的线索将不胜感激!谢谢!

0 投票
1 回答
454 浏览

python - 从 Path2D 中查找多边形的属性,派生自 Python 中 Trimesh 模块的 .to_planar() 函数

使用 Python 中的 Trimesh 模块,我可以从 STL 文件中获取 2D 横截面,代码如下所示。

使用从上述代码获得的 2D 路径 (Slice_2D),我可以将其中的多边形作为 NumPy 数组获取,并使用以下代码对其进行迭代:

上面的代码在控制台上显示了多边形。但是,我想知道是否有办法获取多边形的属性,例如:多边形中的边数;多边形的周长和面积;多边形的类型(三角形或正方形或矩形或平行四边形或圆形等)。

在这方面的任何帮助将不胜感激!

0 投票
2 回答
241 浏览

python - 是否可以创建厚网格?

我对这个领域完全陌生,我正在使用 python 和 Trimesh 创建骨骼的 3D 模型,我需要弄清楚如何创建或表示骨骼的厚度我只有骨骼的表面是好的,但我还需要表示骨骼在这个表面内的外观,有人知道如何解决这个问题吗?

询问我是否需要更多信息,我不确定您需要了解什么才能理解问题。

提前致谢。

0 投票
1 回答
481 浏览

matlab - 如何在 MATLAB 中将 3D 坐标 (x,y,z) 转换为 .STL 文件?

美好的一天,我想寻求有关如何在 MATLAB 中将 3D 坐标 (x,y,z) 转换为 .STL 文件的帮助。

下面是我在 MATLAB 中模拟和获得的一些 3D 坐标,并将其存储在 .txt 文件中。

请注意,第一列包含 x 坐标,第二列包含 y 坐标,第三列包含 z 坐标。

我探索了以下方法:

我得到如下的 3D 对象:

3D 对象

并且

另一个 3D 对象视图

对于两者,我都尝试使用 stlwrite() 函数将其导出到 .stl 文件中,但不幸的是,我一直都失败了。

失败1:四面体

错误信息:

失败2:修剪

错误信息:

现在,我正在尝试解决如下问题,但我不知道如何找到 T。

我需要知道如何找到 T,以便能够将 3D 坐标导出到 STL 文件。

有人可以分享他/她关于如何解决这个3D 坐标转换为 .stl 文件问题的知识吗?