常见三维文件格式之STL, VRML, X3D

一.   STL

STL只能用来表示封闭的面或者体,stl文件有两种:一种是明码格式,另一种是二进制格式。 他的文件格式非常简单
明码:
solid name
facet normal ni nj nk
   outer loop
     vertex v1x v1y v1z
     vertex v2x v2y v2z
     vertex v3x v3y v3z'
   endloop
endfacet

endsolid name

二进制:

UINT8[80]         -   Header
UINT32            -   Number of triangles
foreach triangle
  REAL32[3]       -    Normal vector
  REAL32[3]       -    Vertex 1
  REAL32[3]       -    Vertex 2
  REAL32[3]       -    Vertex 3
  UINT16          -    Attribute byte count
end

文件格式简单,只能描述三维物体的几何信息,不支持颜色材质等信息,是三维打印机(不知道是不是什么东西加上一个三维就听起来就能比较眩,比较有技术含量,三维打印机这名称总觉得不如快速成型机来的实在)支持的最常见文件格式。

二.   VRML

VRML是类似C的结构化数据,易读性好,但用程序数据提取出来困难。
#VRML V2.0 utf8
Shape
{    appearance Appearance #定义物体的外观属性
     {   material Material #定义材质属性
         {  emissiveColor  1 0 0 #表示球的表面材质反射红光
         }
     }
     geometry Sphere       #定义物体的几何属性
     {    radius  1        #表示球体的半径是1个单位
     }

VRML是一种用在Internet 和Web超链上的,多用户交互的,独立于计算机平台的,网络虚拟现实建模语言。虚拟世界的显示、交互及网络互连都可以用VRML来描述。  VRML的设计是从在WEB上欣赏实时3D图象开始的。VRML浏览器既是插件,又是帮助应用程序,还是独立运行的应用程序,它是传统的虚拟现实中同样也使用的实时3D着色引擎。这使得VRML应用从三维建模和动画应用中分离出来,在三维建模和动画应用中可以预先对前方场景进行着色,但是没有选择方向的自由。VRML提供了6+1度的自由,用户可以沿着三个方向移动,也可以沿着三个方向旋转,同时还可以建立与其它3D空间的超链接。因此VRML是超空间的。
与STL文件比较起来vrl文件(vrml对应的文件格式)具有更强的三维模型表达能力,能支持颜色,材质,光照等常见属性。 

三.   X3D

X3D是Wed3D协会(Wed3D Consortium)制定的下一代VRML97标准,是VRML的升级版, 功能比VRML强大很多,X3D规范已经被国际标准化组织ISO审批通过。X3D一向被认为比VRML更为成熟,2005年1月Web3D官方网就X3D和VRML各方面性能进行了分析,得出以下X3D在10个方面的明显就有优越性:


1. 具有VRML兼容性。从"Classic VRML"原始代码到VRML 2 worlds ,VRML没有很大的变化。然而X3D通过不懈地努力除保持VRML绝大部分兼容性问题外还解决了播放器之间的非协作性环境的兼容性问题。
2. XML编码被很好的整合运用。XML编码的优越性使得它更便于X3D信息的治理,控制,验证和交换。
3. X3D场景和环境在不同的播放器之间更有猜测性。VRML一个很大的问题是它难于在所有浏览器和播放器中的协调性问题上作进一步开发,这主要是由于VRML标准语言中缺少足够的VRML行为说明。而X3D能很好的解决该问题。
4. X3D 的组成。X3D构成答应轮廓说明裁减成适应特定市场部分(如CAD, Medical, Visualization).
5. X3D 对其他具有播放器协调性和简约化。X3D制作界面对所有的内部和外部脚本语言提供了很好的兼容性。 X3D SAI 解决了所有理论需求的统一说明,这样可以不考虑程序设计语言而进行映射贴图到程序和脚本语言。X3D的Java and ECMAScript的语言捆绑使得X3D制作更简约化。
6. X3D功能更丰富。VRML中大部分功能的需求在X3D得到了解决,在某种意义上,X3D已经很好的整合了建筑学领域(被认为标准化)。你可以认为X3D 是"VRML3" 。
7. X3D 不断的得到提高升级。X3D不断地被增加功能。Proposed Draft Amendment 1 specification 增加了3D材质编辑和着色语言,同时在X3D 最初说明中纠正了不规则物体。X3D的结构使得它很轻易被更新升级,同时也轻易增加新的适合改变图形和商业市场的功能。
8. X3D能够被鉴定为可信赖,可猜测的应用软件。
9. X3D开放源代码兼容软件可以作为开发者资源 。一个几乎适应所有的X3D的开放源代码的插件Flux 播放器已经得到了开发。不像vrml场景,X3D场景可以在其他任何播放器中播放。
10. X3D二进制格式提供了加密术 (用于安全性)和压缩技术(在速度方面)

与上面vrml对应的x3d文件格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "
http://www.web3d.org/specifications/x3d-3.2.dtd">
<X3D profile = "Immersive" version = "3.2">
    <Scene>
        <Group>
            <Shape>
                <Sphere radius = "1"/>
                <Appearance>
                     <Material
                        emissiveColor = "1 0 0"/>
                </Appearance>
            </Shape>
        </Group>
    </Scene>
</X3D>

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值