我怎样才能创建几何形状的3D模型文件?(How can I create a 3D model fi

2019-10-20 04:44发布

我写,其将基于简单的几何形状输出3D模型文件的程序(例如直角棱镜&圆柱体)具有已知坐标的3维空间。 作为一个例子,假设创建巨石阵的3D模型。 这个问题表明,OBJ文件是最容易产生,但我在努力寻找一个好的教程或易于使用的图书馆这样做。

任何人都可以

(1)描述一步一步如何创建一个简单的文件或(2)指向我介绍了如何做一个教程

注:*使用基于GUI的程序得出这样的文件是不是我的选择*我有3D建模没有现成的经验*其他格式,如WRL或DAE会为我工作,以及

编辑:

我不需要用纹理,只是定位在3D空间中的简单几何形状的组合。

Answer 1:

我强烈建议使用一些ASCII交换格式有许多在那里我通常使用这些:

  1. *.x的DirectX对象(它是一个C ++源代码)

    这个人是最容易实现的! 但也有许多不能够处理它们的工具。 如果你不想花太多时间编码,那么这是正确的选择。 只需复制从任何模板(在开始) *.x文件开始。

    这里的一些规格

  2. *.iges常见和导入的大多数CAD / CAM平台(包括Catia时)

    这个人是有点复杂,但用于出口目的,并不坏。 它支持像操作音量+,-,&,^这是很难正确地实现,但你不必使用它们:)

  3. *.dxf的AutoCAD交换格式

    这是一个更复杂然后IGES。 我不建议使用它

  4. *.ac AC3D

    我第一次看到这一个飞行齿轮。

    这里的一些规格

    在第一次看这是很容易的,但子对象的实现是真正棘手。 除非你使用它,你应该罚款。

这种方法是在记事本或通过加载一些3D模型查看器容易核查。 选择一个最适合您的需求和代码save/load功能到你的应用程序内部模型class/struct 。 这样,您将与其他软件兼容,并消除它们原产于打造“几乎人尽皆知”二进制格式,如不兼容的问题3ds ,...

在你的情况我会使用IGES(初始图形交换规范)

对于出口,你并不需要实现所有仅数基本形状这样就不会太困难。 我的代码进口商它是多复杂得多。 矿IGES装载机类是约30KBC ++源代码,看看这里的更多信息

你没有提供有关您的3D网格模型的结构和功能的任何信息

像什么原语使用,是你对象的简单或骨骼层次,您使用的纹理,以及更多...所以这是不可能的答案

反正出口往往是这样的:

  1. 创建目标文件格式的标头和结构
  2. 如果格式有任何目录结构填充它,并把它写(IGES)

    对于子对象不忘记加上变换矩阵...

  3. 写你所需要的块(点列表,列表中面临的,法线,...)

ASCII格式,你可以做这里面字符串变量,所以你可以很容易地插入或修改。 是否所有的东西在内存中,写在这快结束到文件,并添加功能与内存而不是文件工作整件事。 如果要打包多个文件到单个封装文件中像这是非常方便*.pak或发送/ IPC通过LAN或接收文件...

[EDIT1]更多关于IGES

FILEFORMAT规格

我学会了IGES从这个PDF ......不知道从那里我得到了它,但是这是第一个有效的链接我在谷歌今天发现。 我相信有一些非注册链接在那里了。 这是约13.7 MB和原来的名字IGES5-3_forDownload.pdf

Win32的观众

这是免费的IGES观众。 我不喜欢的界面和操作,但它的工作原理。 这是需要有功能的浏览器测试你的...

例子

这里有许多实体的许多教程文件有3子链接( igs,peek,gif ),在那里你可以看到更多的方式例如文件为了更好地理解。

出口到IGES

你没有提供有关3D任何信息网内部结构,所以我不能用出口帮助。 有很多方法导出同样的方式,以便选择一个最接近你的应用程序3D网格表示。 例如,你可以使用:

  • 点云
  • 旋转曲面
  • 矩形(QUAD)表面
  • 边界线表示(非固体)
  • 修剪表面还有更多...


文章来源: How can I create a 3D model file from geometric shapes?