如何解决适用于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 举报,一经查实,本站将立刻删除。