- 25
- 0
- 约1.59万字
- 约 21页
- 2018-06-27 发布于湖北
- 举报
计算机图形学实验几何物体的表示——三角网格的表示及显示
实验四 几何物体的表示——三角网格的表示与显示
实验目的
熟悉三角网格的表示
熟悉三角网格的显示
熟悉纹理的显示
实验内容
设计三角网格的数据结构
解析Obj文件格式的三角网格
显示三角网格及纹理贴图
实验指导
存储三角网格数据的文件格式多种多样,常见的文件格式有:
Wavefront OBJ (*.0bj)
3D Max (*.max, *.3ds)
VRML (*.vrl)
Inventor (*.iv)
PLY (*.ply, *,ply2)
本实验主要以OBJ文件为例,了解其数据格式,建立三角网格在内存中的数据结构,从而将文件中的数据读取到内存,并最终显示出来。
OBJ文件格式
OBJ文件是Alias|Wavefront公司为他的一套基于工作站的3D建模和动画软件“Advanced Visualizer”开发的一种标准3D模型文件格式,很适合用于3D软件模型之间的数据交换。目前几乎所有知名的3D软件如3dsMax,LightWave,Maya都支持OBJ文件的读写。
OBJ文件是一种纯文本文件,可以直接用写字板打开进行查看和编辑修改。这种文件以纯文本的形式存储了模型的顶点、法线和纹理坐标和材质使用信息。OBJ的每一行,都有极其相似的格式,每行的格式如下:
前缀 参数1 参数2 参数3 ……
其中,前缀标识了这一行所存储的信息类型,参数则是具体的数据。OBJ文件的前缀可以有:
前缀说明v表示本行指定一个顶点
此前缀后跟着3个单精度浮点数,分别表示顶点的x,y,z坐标值vt表示本行指定一个纹理坐标
此前缀后跟着两个单精度浮点数,分别表示此纹理坐标的u,v值vn表示本行指定一个法线向量
此前缀后跟着3个单精度浮点数,分别表示顶点法向量x,y,z坐标值f表示本行指定一个表面(Face)
此前缀后面的数据见“面的格式说明”usemtl此前缀后只跟着一个参数。该参数指定了从此行之后到下一个以usemtl开头的行之间的所有表面所使用的材质名称。该材质可以在此OBJ文件所附属的MTL文件中找到具体信息。mtllib此前缀后只跟着一个参数,该参数指定了此OBJ文件所使用的材质库文件(*.mtl)的文件路径面的格式说明:
每个三角面片的数据由f开头,后面跟组成该三角面片的各顶点的顶点坐标索引,纹理坐标索引,顶点法向索??,其格式为:
f 顶点坐标索引/纹理坐标索引/顶点法向索引 ……
其中纹理坐标索引和顶点法向索引可以为空,如果为空的索引位于末尾时,’/’也可以省略,例如:
f? 1 2 3
这样的行表示以第1、2、3号顶点组成一个三角形,等同于1// 2// 3//。
f? 1/3 2/5 3/4
这样的行表示以第1、2、3号顶点组成一个三角形,其中第一个顶点的纹理坐标的索引值为3,第二个顶点的纹理坐标的索引值为5,第三个顶点的纹理坐标的索引值为4。
f? 1/3/4 2/5/6 3/4/2
这样的行表示以第1、2、3号顶点组成一个三角形,其中第一个顶点的纹理坐标的索引值为3,其法线的索引值是4;第二个顶点的纹理坐标的索引值为5,其法线的索引值是6;第三个顶点的纹理坐标的索引值为6,其法线的索引值是2。
f? 1//4 2//6 3//2
这样的行表示以第1、2、3号顶点组成一个三角形,且忽略纹理坐标。其中第一个顶点的法线的索引值是4;第二个顶点的法线的索引值是6;第三个顶点的法线的索引值是2。
除此之外,以“#”开头的表示注释,以g开头的表示组的前缀。但这些前缀并不影响模型的外观,因此我们可以忽略它们。
下面来看一个具体的实例,该文件是用3dsMax创建的一个长方体存储成OBJ文件的结果:
# Max2Obj Version 4.0 Mar 10th, 2001
#
mtllib ./Box.mtl
g
# object (null) to come ...
#
v -46.508743 -45.052959 50.796341
v 49.442947 -45.052959 50.796341
v -46.508743 -45.052959 -48.019585
v 49.442947 -45.052959 -48.019585
v -46.508743 48.034504 50.796341
v 49.442947 48.034504 50.796341
v -46.508743 48.034504 -48.019585
v 49.442947 48.034504 -48.019585
# 8 vertices
vt 0.000000 0.000000 0.000000
vt 1.000000 0.000000 0.000000
vt 0.000000 1.0000
您可能关注的文档
最近下载
- 人教版五年级语文(下册)写字表课文同步正楷练字帖.pdf VIP
- 家谱发放仪式上的讲话范文(3篇).docx VIP
- 塔吊拆除作业安全培训内容课件.pptx VIP
- SYT 5328-2019 石油天然气钻采设备 热采井口装置.docx VIP
- 肖邦升C小调幻想即兴曲(Op.66)(原版) 高清钢琴谱五线谱.docx VIP
- 高技术船舶科研项目指南(2024年).pdf VIP
- 全国大学生市场调查与分析大赛调查研究报告.PDF VIP
- 中北大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 产前检查ppt课件图文.pptx VIP
- 精品解析:重庆市万州二中教育集团2025-2026学年八年级上学期期中物理试题(原卷版).docx VIP
原创力文档

文档评论(0)