【问题标题】:Python - Working with obj/stl files and 3d meshesPython - 使用 obj/stl 文件和 3d 网格
【发布时间】:2018-02-26 07:20:42
【问题描述】:

我从未以任何身份使用过 3d 对象,尤其是在 Python 中。我目前正在从事一个宠物项目,其中我有包含不规则形状对象的 stl 和 obj 文件。我希望最终能够计算出这些物体的表面积,也希望能够找到沿物体各个点的周长。我还希望能够找到各个圆周之间的表面积。

我不需要一个简单的方法来做到这一点(我不确定像搅拌机这样的东西有多适用,但我想避免使用任何涉及 GUI 的东西)。这比任何练习都重要,所以即使需要几个月的时间,我也更愿意输出代码而不是仅仅有数字。

我发现并一直在玩的一些东西是

from stl import mesh

还有MeshPy,我已经尝试过,但无法正确下载。

如果绝对不推荐使用 Python,我不介意学习另一种语言。我真的不知道从哪里开始。

【问题讨论】:

    标签: python 3d mesh


    【解决方案1】:

    两个月前我实际上遇到了同样的问题。我最初是从 3D 网格开始的,我必须创建一些例程来处理 .stl 文件。为了给您提供更好的响应,您能否提供一下您正在寻找的具体实用程序?

    有几个 Python 包能够处理 3D 网格。比较流行的是 stl、vtk、openmesh 和 meshpy。您可以根据自己的目标使用其中一种或另一种。也许最完整的是 vtk,它有很多类和功能。但是,如果您来自非信息背景(例如我是物理学家),则此软件包是面向对象的,因此您一开始可能会遇到问题。

    如前所述,如果您可以共享您正在寻找的实用程序以便为您提供更准确的响应,这将非常有用。 祝你好运!

    【讨论】:

    • 我有点不清楚你所说的实用程序是什么意思?我对该项目的主要目的是能够计算沿对象各个点的“周长”,然后能够计算这些周长之间的表面积。所以在我的情况下,我将处理身体扫描。例如,我希望能够通过指定腿部顶部和膝盖处的圆周来找到某人大腿的表面积。像这样的东西。这能回答你的问题吗?
    • 我不知道它是否对你有用,但我建议你使用 numpy-stl 包。我实际上有一个类似的问题:我必须计算给定网格的 Willmore Flow,它只是外接球体之间角度的总和。这个包允许您打开一个网格(例如一个 stl 文件)并使用函数 your_mesh.Points() 您将获得所有对应于每个面的三个点(具有三个坐标)的 3x3 矩阵列表。
    • 如前所述,这是非常基本和标准的东西,但这种简单性也意味着更好地控制您想要获得的功能。但是,通过阅读您的帖子,我了解到您有时间,因此我鼓励您从网格开始,并尝试从乞讨开始构建您的功能。我是回答帖子的新手,所以我希望这对你有用。
    猜你喜欢
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 2021-01-15
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    相关资源
    最近更新 更多