- 26
- 0
- 约1.59万字
- 约 21页
- 2018-01-09 发布于湖北
- 举报
计算机图形学实验几何物体的表示——三角网格的表示与显示
实验四 几何物体的表示——三角网格的表示与显示
实验目的
熟悉三角网格的表示
熟悉三角网格的显示
熟悉纹理的显示
实验内容
设计三角网格的数据结构
解析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.00000
您可能关注的文档
- 观察物体小方块例3.ppt
- 观察物体方位.ppt.ppt
- 规划编制要求.ppt
- 观测日全食.ppt
- 观赏鱼 燕鱼.ppt
- 视图5.2(第三课时).ppt
- 视图二北师大版数学.ppt
- 视电阻率在高频大地电磁中识别薄互层体的应用.ppt
- 视觉叙事与绘画史句法新探——围绕达弥施“云的理论”的讨论.docx
- 视频监控的基础知识.docx
- 3.4 相等的周长 课件 2025-2026学年三年级下册数学北师大版.pptx
- 20.2 勾股定理的逆定理及其应用 课件 2025-2026学年人教版数学八年级下册.pptx
- 15.1.2 线段的垂直平分线 课件(内嵌视频) 2025-2026学年人教版数学八年级上册.pptx
- 4 地表流水的力量 课件(内嵌视频) 2025-2026学年科学六年级下册人教鄂教版.pptx
- 1.4 独立自主的和平外交 课件(内嵌视频) 2025-2026学年统编版八年级历史下册.pptx
- 移民局工作要点(2篇).docx
- 2026年研究生思想汇报(2篇).docx
- 预备党员个人思想工作汇报(2篇).docx
- 街道办事处重点工作内容(2篇).docx
- 宠物医疗保险合同.docx
最近下载
- 以投资视角看海外三十年牛熊下篇:港股.pdf VIP
- 循环流化床锅炉热效率计算.xls VIP
- 特种设备安全管理人员考试试题(答案).docx VIP
- 遗传育种学课件第二章.ppt VIP
- 仪器与测量IEEE TIM期刊-论文投稿超长协议 Overlength Page Charge Agreement Form Updated September 2024.pdf VIP
- 2025年上海市卫生健康技术评价中心上半年招聘16人笔试高频难、易错点备考题库参考答案详解.docx VIP
- 第1课《身心健康很重要》教案-2025-2026学年第二学期二年级道德与法治统编版下册.docx
- DeepSeek内部研讨系列-AI+Agent与Agentic+AI的原理和应用洞察与未来展望20250520A.pptx
- SL 560-灌溉排水工程项目可行性研究报告编制规程.pdf VIP
- 遗传育种课件.pptx VIP
原创力文档

文档评论(0)