有没有办法操纵STL';Python中的数据点?(医疗应用)

有没有办法操纵STL';Python中的数据点?(医疗应用),python,3d,transformation,euclidean-distance,3d-modelling,Python,3d,Transformation,Euclidean Distance,3d Modelling,尝试将编程应用于医学研究的新手程序员。我正在使用Python和患者CT扫描生成的STL(3D格式)文件进行生物力学模拟。我试图绕任意轴旋转一个骨骼区域来模拟关节运动,并测量韧带插入点之间的距离(变化),但不知如何做到这一点。我可以将STL文件中的数据导入点云,并在点云中执行基本操作,但我不知道如何重建STL。有没有一种方法可以将STL数据视为一种结构并直接进行几何变换?根据新的位置,我正在计算有效韧带长度(基本上是感兴趣的骨骼区域中一点到另一点之间的距离)。基于这些值,我尝试将STL“着色”并制

尝试将编程应用于医学研究的新手程序员。我正在使用Python和患者CT扫描生成的STL(3D格式)文件进行生物力学模拟。我试图绕任意轴旋转一个骨骼区域来模拟关节运动,并测量韧带插入点之间的距离(变化),但不知如何做到这一点。我可以将STL文件中的数据导入点云,并在点云中执行基本操作,但我不知道如何重建STL。有没有一种方法可以将STL数据视为一种结构并直接进行几何变换?根据新的位置,我正在计算有效韧带长度(基本上是感兴趣的骨骼区域中一点到另一点之间的距离)。基于这些值,我尝试将STL“着色”并制作一个3D“热图”,基本上较高的值是红色、较低的蓝色等。我无法真正让Mayavi工作,我会保留点云,但在Python中绘制和操作速度非常慢。谢谢你的帮助

TL;以下博士:

  • 如何在STL文件上围绕任意轴进行矩阵旋转,或者进行任何几何变换
  • 如何在单独的STL文件上测量两点之间的距离
  • 如何根据一组值更改STL三角形/曲面的颜色

此过程涉及许多子任务。您必须对属于每个身体部位的点进行分组,定义旋转点和测量点

在我看来,这些操作都不适合通过编程(用python或其他语言)来执行,因为它们涉及大量的用户交互。您可能希望了解如何在三维编辑器中执行这些操作

是免费的,可以导入STL,虽然学习曲线有点陡峭,但网上有很多学习资料。你会想调查,然后

一旦建立了基本模型,就可以轻松地对其进行编程更改,这要归功于。使用它,您将能够自动化测试,并在需要时以图形方式检查结果


请注意,许多可用文档仍然涉及blender版本系列2.4,而最近的是2.6。你可能想试试这两种。

我猜STL不是指“标准模板库”,是C++标准库的前体,对吧?如果是这样,那么您应该删除stl标记。您是正确的。标签被移除。谢谢你的现场!这可能令人感兴趣:这是不幸的。就一般算法而言,我需要做的事情是有道理的;我在可视化部分遇到了问题。我会尝试一下Blender,但问题是我需要最少的“用户交互”,因为我必须迭代数千个值和模型。谢谢您的帮助。@user3557448一旦您建立了基本模型,您就可以在搅拌机本身中轻松地完成这项工作(请参见编辑)。根据您的特定数据,自动化模型设置可能是可能的,但您需要以某种方式检查结果。