图形对象与场景ppt课件_第1页
图形对象与场景ppt课件_第2页
图形对象与场景ppt课件_第3页
图形对象与场景ppt课件_第4页
图形对象与场景ppt课件_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、杨 武 影像科学与技术实验室 东南大学计算机学院 第九章第九章层次建模层次建模第九章之第三节第九章之第三节 图形对象与场景图图形对象与场景图根本内容根本内容l引见图形对象l推行对象的思想,使之包含光源、照相机和属性l引见场景图(scene graphs)直接模型图形的局限l当在运用程序中定义一个几何对象时,在代码被执行后,对象就进入流水线过程l然后它就会从图形系统中消逝了l为了重新绘制同样的或者改动了的对象,那么就需求重新执行代码l显示列表功能只是对这个问题进展了部分处理OpenGL 与对象与对象lOpenGL短少面向对象的功能l例如,思索一个绿球l可以用多边形建立它

2、的模型,也可以用OpenGL提供的二次曲面功能建模l它的颜色是由OpenGL形状确定的,这不是对象的一种属性l这不符合物理对象的观念l可以利用面向对象言语和技术建立起更好的对象代码强迫程序方式强迫程序方式l例:旋转立方体l旋转函数必需知道立方体的表示方式l顶点列表l边表运用程序函数数据结果l在这种方式中,表示是与对象存贮在一同的l运用程序发送音讯给对象l对象中包含函数(也称为方法)可以本人变换对象面向对象的程序方式面向对象的程序方式运用程序对象与方法音讯C/C+l可以利用C的struct类型建立对象lC+提供了更好的功能支持l可以运用class构造l可以利用类中的public, private

3、和protected对实现进展必要的隐藏l也可以利用友元标识使得类可以彼此访问立方体对象立方体对象l假设我们要创建一个简单的立方体对象,可以对它进展放缩、定向、定位,并直接利用代码设置它的颜色,例如lcube mycube;lmycube.color0=1.0;lmycube.color1=mycube.color2=0.0;lmycube.matrix00=立方体对象的函数立方体对象的函数l我们也希望具有作用在立方体上面的函数,例如lmycube.translate(1.0, 0.0,0.0);lmycube.rotate(theta, 1.0, 0.0, 0.0);lsetcolor(my

4、cube, 1.0, 0.0, 0.0);l也有方法显示立方体lmycube.render();建立立方体对象建立立方体对象class cube public: float color3; float matrix44; / public 方法方法 private: / 实现实现实现实现l可以在private部分进展任何实现,例如运用顶点列表lprivate部分可以访问public成员,类方法的实现可以运用任何实现,而不需求把它们变为可见的l显示方法需求一些技巧,但它会调用规范OpenGL的绘图函数,例如glVertex其它对象其它对象l其它对象具有几何特征l照相机l光源l但我们也该当可以包含

5、非几何对象l资料l颜色l变换(矩阵)运用程序代码运用程序代码cube mycube;material plastic;mycube.setMaterial(plastic);camera frontView;frontView.position(x ,y, z);光源对象光源对象class light / 与与Phong模型匹配模型匹配 public: boolean type; /正交或透视正交或透视 boolean near; float position3; float orientation3; float specular3; float diffuse3; float ambien

6、t3;场景描画场景描画l重新思索表示图模型,可见l可以用树构造或者等价的代码描画模型l可以编写出普通的遍历代码从而用于显示l假设可以用C+对象表示场景中一切的成员(照相机、光源、资料、几何体),我们该当可以在一个树构造中列出它们l从而可以运用遍历算法显示场景场景图场景图遍历遍历glPushAttribglPushMatrix glColorglTranslateglRotate对象对象1glTranslate对象对象2glPopMatrixglPopAttrib分隔节点分隔节点l需求用它隔离形状改动l等价于OpenGL中的Push/Popl留意,与表示图模型中一样l可以编写一个适用范围广泛的遍历算法l遍历的顺序是相当重要的l假设不运用分隔节点,形状改动会分散Inventor 与与 Java3DlInventor和Java3D提供了场景图APIl场景图可以用文本文件或者二进制文件进展描画l实现与场景的交换方式是独立的l场景图API支持这种功能l然而,所支持的根本元素该当与图形系统的功能匹配l因此大多数场景图API是建立在OpenGL或者DirectX上的VRMLl希望有一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论