适用于Java的3D可视化工具的3D CAD stl文件的排序算法

问题描述

以下问题:基本上,我创建了一个基于JavaFX的3D可视化工具,该工具导入了从3D CAD系统导出的3D文件。 3D模型以不同方式看起来像弯管。因为我认为很难在自己的程序中在更多的豌豆上切开弯管(对我而言,现在还无法实现类似的功能[我只是业余程序员]),所以我在3D CAD系统中切开了弯管,保存在将所有子部分CAD放入一个stl文件,然后将此文件导入到程序中。基于表格数据,我想为切割的子部分分配不同的颜色。上面提到的几乎在我的程序中实现。 问题是保存的子零件是随机排序的。像在图片中:example of 3D geometry with not ordered subparts。我需要将子部件排序为​​1,2,3,4,5等,以便能够将我的表数据自动分配给也由其他程序来排序的1,5等子部件。 / p>

因此,我正在考虑做某种排序算法,该算法将使子部分依次排序。但是问题来了。由于零件可以以许多不同的方式弯曲,因此我无法使用stl文件的点坐标并无法根据x,y和z坐标对其进行排序。 stl文件基本上是点的坐标列表。就像这里:structure of stl file。图片仅是查看此类文件外观的示例。实际上,一个子部分包含大约8000行。

要对各部分进行连续排序,我正在考虑检查subpart1的每个顶点是否位于subpart 2,subpart 3,subpart 4等的小平面边界内。如果找到该subpart,则意味着这些subpart彼此相邻我可以订购它们。我认为我能够实施。但是...我的要求是。您是否认为该算法可以在合理的时间内对子部分进行排序。实际上,我可能有100或200个子部分,每个部分可能有8000条线,这意味着大约2500个小平面,大约7500个顶点。我想基本上检查每个点是否在每个方面。这意味着要对百万富翁和百万富翁进行操作检查...是可行的吗?

对于将几何排序的其他想法,我将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...