如何从一个点列表到一个对象

How to go from a list of points to an object

本文关键字:一个 列表 一个对象      更新时间:2023-10-16

我目前正在编写一个生成布里渊区(如果你不知道它们是什么也没关系)的c++程序。输出是由x, y和z坐标定义的点列表。我想把这个点列表变成一个实体对象,无论是。stl还是。3ds。如果可能的话,我想让c++程序做3d文件创建,因为点列表文件是几个gig,当你把它们写为txt,所以你不能把列表加载到ram中作为一块而不会使计算机崩溃。有人知道怎么做吗?

STL格式只是由它们的坐标定义的三角形列表。如果您已经生成了三角形,那么编写STL基本上就是简单地列出(x,y,z)值的三元组。

STL可以写成ASCII或二进制。如果您还没有查看过ASCII STL文件,请查看一下。如果你想要样品,请告诉我。

你可以一次写一个三角形文件

我不知道。3ds或。stl的文件格式,但我假设可以由块生成(写n点,更新与其他点,等等…)。

我的想法是:
-按块读取文件(例如:line)
-处理点
-save the block
-继续下一个

可能需要保存虚拟数据(例如:如果文件格式。3ds有一个关于文件中包含的点数总数的信息的头,在这种情况下放0,在处理时计数点数,然后保存正确的值)。