全部科目 > 程序员 >
2011年上半年 下午试卷 案例
第 6 题
知识点 抽象   继承   Java   建模   图形  
 
 
已知对某几何图形绘制工具进行类建模的结果如图6-1所示,其中Shape为抽象 (abstract)类,表示通用图形,Box (矩形)、Ellipse (椭圆)和Line (线条)继承(extends) 了 Shape类,其中,Circle表示圆(即特殊的椭圆)。

下面的Java代码用于实现图6-1所给出的设计思路,将其空缺处填充完整并编译运行,输出结果为:






 
问题:6.1   填补Java代码中的空缺(1)?(6)




 
 
 
知识点讲解
· 抽象
· 继承
· Java
· 建模
· 图形
 
        抽象
        抽象即对事物共同特性的提炼。
 
        继承
        C++最重要的性能之一是代码重用。但是,为了具有可进化性,我们应当能够做比复制代码更多的工作。在C的方法中,这个问题未能得到很好的解决。而用C++,可以用类的方法解决,通过创建新类重用代码,而不是从头创建它们。这样,就可以使用其他人已经创建并调试过的类。创建一个新类作为一个已存在类的类型,采取这个已存在类的形式,对它增加代码,但不修改它。这个有趣的活动被称为继承,其中大量的工作由编译器完成。继承是面向对象程序设计的基石。
        继承的一般形式如下:
        
        访问权限是访问控制说明符,它可以是public、private或protected。派生类与基类是有一定联系的,基类描述一个事物的一般特征,而派生类有比基类更丰富的属性和行为。如果需要,派生类可以从多个基类继承,也就是多重继承。通过继承,派生类自动得到了除基类私有成员以外的其他所有数据成员和成员函数,在派生类中可以直接访问,从而实现了代码的复用。派生类对象生成时,要调用构造函数进行初始化。编译器的调用过程是先调用基类的构造函数,对派生类中的基类数据进行初始化,然后再调用派生类自己的构造函数,对派生类的数据进行初始化工作。当然,在派生类中也可以更改基类的数据,只要它有访问权限。每个派生类只需要编写与基类行为不同或扩展的方面。
        例如:A是基类,B是A的派生类,那么B将继承A的数据和函数。代码如下:
        
        这个简单的示例程序也说明了:C++的"继承"特性可以大大提高程序的可复用性。
 
        Java
        Java语言起源于Oak语言,Oak语言被设计成能运行在设备的嵌入式芯片上。
        Java编译成伪代码,这需要一个虚拟机来对其进行解释,Java的虚拟机在几乎每一种平台上都可以运行。这实质上使得开发是与机器独立无关的,并且提供了通用的可移植性。
        Java把类的概念和接口的概念区分开来,并试图通过只允许接口的多继承来克服多继承的危险。
        Java的异常处理机制与C++的try/throw/catch相类似,但更加严密。在Java中,通过声明轻型线程来处理并发性,这些线程通过副作用和同步协议进行通信。
        Java Beans是组件,即类及其所需资源的集合,它们主要被设计用来提供定制的GUI小配件。
        Java中关于面向对象概念的术语有对象、类、方法、实例变量、消息、子类和继承。
 
        建模
        建模是在计算机上创造三维形体的过程,建模是三维动画的基础,没有一个好的模型,其他好的效果都难以表现。三维建模的基本方法主要有:利用二维形体的技术、直接进行三维物体建模、造型组合等。
        利用二维形体进行建模的技术的主要思想是首先创建简单的二维形体,如样条线和形状等,然后对这些创建的二维形体进行挤压、旋转、放样等操作以创建三维造型。
        直接进行三维物体建模的常用方法有多边形建模、面片建模、NURBS建模等。
        造型组合是把已有的物体组合成新的物体,其中布尔运算是最重要的组合技术。
 
        图形
               表示与存储
               图形是指能在人的视觉系统中产生视觉印象的客观对象,它包括人眼观察到的自然景物、拍摄到的图片、绘图工具得到的工程图、用数学方法描述的图像等。图形是客观对象的一种抽象表示,它带有形状和颜色信息。构成图形的要素有几何要素(刻画对象轮廓形状的点、线、面、体等)和非几何要素(刻画对象表面属性或材质的颜色、灰度等)。图形可用形状参数和属性参数表示,即参数表示法;也可用带有灰度或色彩的点阵图表示,简称像素图、图像(数字图像),即点阵表示法。
               图形是计算机图形学(Computer Graphics, CG)研究的对象。ISO给计算机图形学的定义为:研究用计算机进行数据和图形之间相互转换的方法和技术。还有定义为:计算机图形学是运用计算机描述、输入、表示、存储、处理(检索/变换/图形运算)、显示、输出图形的一门学科。计算机图形技术主要研究如何在计算机中表示图形,以及利用计算机进行图形的计算、处理和显示的相关原理和算法,其核心是将客观世界对象以图形的形式在计算机内表示出来,主要包括模型生成和图形显示,如下图所示。模型生成是获取、存储和管理客观世界物体的计算机模型,以在计算机上建立客观世界的模拟环境。图形显示是生成、处理和操纵客观世界物体模型的可视化结果,以在输出设备上呈现客观世界物体的图像。
               
               计算机图形生成模型
               计算机图形技术所涉及的研究内容非常广泛,如图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法、风格化绘制、科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。
               图形的文件格式
               ① TIF。
               TIF格式是平面设计中最常用的一种图形格式,因为其属于跨平台的格式,而且支持CMYK色,所以经常被用于印刷输出的场合。此外还有一个特色就是其支持LZW压缩,即不失真压缩,也就是说不管如何压缩,图档的品质都还能保持原来的水准。
               ②TGA。
               TGA图形格式的最大特点就是可以制作出不规则形状的图档,一般图档都为四方形,若需要圆形、菱形甚至镂空的图档时,TGA格式可能就会派上用场了。TGA格式同样支持压缩,也属于不失真压缩。
               ③ PSD。
               PSD格式是Photoshop专用的图形文件格式,该格式包含图形中的色层、遮罩、色频、选取区等Photoshop可以处理的属性,这样全方位的存储如果运用得当,几乎可以将创作的过程完整地记录,以便日后的修改。
               ④UFO。
               UFO格式是另一个著名制图软件Ulead Photoimapct的专用图形格式,其是致力于追赶Adobe的有力科技,同样也发展出了与PSD格式类似的图档格式,能够完整记录所有处理过的属性,不过在记录原理上却有些不同,UFO以物件代替图层,这一点并无大碍,因为Photoimapct与Photoshop本身就有很多的不同之处。
               ⑤RIF。
               RIF是著名制图软件Painter的专用图形格式,处理方式和前面两种大同小异,都可以存储相当多的属性资料。另外,Painter可以打开PSD文件,而且经过Painter处理的PSD文件可以在Photoshop中通用,这样就可以使同一文件在Photoshop和Painter中交换使用了。
               ⑥ CDR。
               CDR是著名制图软件CorelDRAW的专用图形格式,由于CorelDRAW是向量软件,所以CDR可以记录的资料可以说是千奇百怪,各物件的属性、位置、分页通通可以存储,以便日后修改。在兼容度上,目前基本没有其他软件可以打开CDR文件,这是向量软件的通病。
               ⑦EPS。
               EPS是印刷时经常用到的格式,向量图可以转换成EPS格式,点阵图也可以转成EPS格式。EPS文件可以同时存储点阵以及向量,故专门用于印前操作,如排版等,所以一般在印刷时都使用EPS文件。
               图形处理技术
               图形处理技术的范围很广,这里以真实感图形绘制和非真实感图形绘制为例简单介绍图形处理技术。
               真实感图形绘制是指借助数学、物理、计算机等学科知识使用计算机生成三维场景中真实逼真的图形、图像的过程。真实感图像绘制主要包括两个方面:表面特性的精确表示和场景中光照效果的物理描述。真实感图形绘制的应用非常广泛,例如计算机动画制作、影视特效仿真、计算机游戏、多媒体教育和虚拟现实等。真实感图形绘制所涉及的技术主要有消隐技术、表面细节绘制技术、纹理贴图技术、高级光照与着色技术等。
               非真实感图形绘制是指利用计算机生成不具有照片般真实感而具有手绘风格的图形的技术,其目标不在于表现图形的真实性,而是在于表现图形的艺术特质、模拟艺术作品(甚至包括作品中的缺陷)或作为真实感图形的有效补充。非真实感图形绘制的应用领域也非常广泛,其中一个重要的应用领域就是对绘画进行模拟,主要模拟的画种有油画、水彩画、钢笔画、铅笔画、水墨画和卡通动画。非真实感图形绘制所涉及的技术主要有基于像素的绘制,基于线条、曲线和笔画的绘制,模拟绘画绘制等。
               如下图所示,树和天空是采用真实感图形绘制技术绘制出来的,国画是采用非真实感图形绘制技术绘制出来的。
               
               真实感图形绘制和非真实感图形绘制



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有