2010年图形学复习题及其解答
计算机图形学复习题集及答案

计算机图形学复习题集及答案1. 2D图形的表示与处理a) 什么是坐标系?请解释笛卡尔坐标系和极坐标系。
b) 如何表示直线和曲线?请解释Bresenham算法和Bezier曲线。
c) 请解释图形的填充算法,包括扫描线填充和边界填充。
2. 3D图形的表示与处理a) 什么是三维坐标系?请简要解释右手法则和投影矩阵。
b) 如何表示三维物体的表面?请解释多边形网格和三角形剖分。
c) 请解释3D图形的光照模型,包括环境光、漫反射光和镜面反射光。
3. 图形变换和投影a) 请解释平移、旋转和缩放变换。
如何使用矩阵表示这些变换?b) 请解释正射投影和透视投影。
如何将三维图形投影到二维平面上?c) 请解释坐标变换和视角变换在图形渲染中的应用。
4. 可视化技术与实际应用a) 请解释光栅化和纹理映射的概念。
它们在实时图形渲染中的应用是什么?b) 请解释反走样技术和深度缓冲技术。
如何解决图形渲染中的锯齿和隐藏面问题?c) 请简要介绍计算机图形学在游戏开发、电影制作和工程设计中的应用案例。
答案:1.a) 坐标系是用于描述点或图形位置的一种系统。
笛卡尔坐标系使用水平的x轴和竖直的y轴,原点为(0, 0)。
极坐标系使用半径和角度来表示点的位置,其中半径表示点到原点的距离,角度表示点与参考轴的夹角。
b) Bresenham算法是一种用于在显示器上绘制直线的算法,它通过迭代计算像素点的位置来实现。
Bezier曲线是一种常用的曲线表示方法,通过控制点来确定曲线的形状。
c) 图形的填充算法用于填充封闭图形的内部区域。
扫描线填充算法按行扫描图形区域,使用奇偶规则确定像素填充。
边界填充算法通过判断像素是否在图形边界内部来进行填充。
2.a) 三维坐标系由x轴、y轴和z轴组成,用于表示三维空间中的点。
右手法则可以确定三维坐标系的方向,其中大拇指指向z轴的正方向,食指指向x轴的正方向,中指指向y轴的正方向。
投影矩阵用于将三维物体投影到二维平面上。
计算机图形学基础期末复习习题(含答案)

一、选择题1. 提出“计算机图形学”的一些基本概念和技术,确定了计算机图形学作为一个崭新科学分支的独立地位,从而被称为图形学之父的是A、Ivan E. SutherlandB、b. Pierre BézieC、Steven A. CoonsD、Bui-Tuong Phong我的答案:A2. 能够利用欧氏几何或方程式方法所表示的有关图形是什么构成要素?A、属性控制要素B、形状构成要素C、边界控制要素D、色彩构成要素我的答案:B3. 计算机图形系统中,既能输入又能输出的设备是A、鼠标B、数字化仪C、触摸屏D、扫描仪我的答案:C4. 图形的属性通常有哪些属性?A、几何B、像素C、点阵D、非几何我的答案:AD5. 以下要素中哪些属于属性控制要素?A、线宽与线型B、填充模式C、颜色材质D、轮廓与形状我的答案:ABC6. ISO图形软件标准有哪些?A、CGIB、CGMC、GKSD、PHIGS我的答案:ABCD7. CRT中完成图像最终显示的重要器件是?A、显示控制器B、显示处理器C、CPUD、阴极射线管我的答案:D8. 在计算机图形系统中利用“电光效应”显示图形的设备是A、等离子体显示板B、薄片光电显示器C、发光二极管D、液晶显示器我的答案:D9. 显示器必须由图形显示子系统中的什么部件进行控制?A、显示控制部件B、CPUC、主存D、系统总线我的答案:A10. 什么是计算机图形系统中显示子系统的心脏?A、显示控制器B、CPUC、显示缓存D、系统总线我的答案:A11. 图形显示技术中的物理分辨率是指A、屏幕分辨率B、显示分辨率C、存储分辨率D、像素分辨率我的答案:A12. 一个交互式计算机图形系统的结构由哪些组成?A、图形软件B、图形硬件C、图形应用数据结构D、图形应用软件我的答案:AB13. 以下哪些属于CRT显示器?A、刷新式随机扫描图形显示器B、存储管式随机扫描图形显示器C、光栅扫描图形显示器D、液晶显示器我的答案:ABC14. 一个好的图形用户接口应具备以下特点。
《计算机图形学》试卷及答案.doc

一、填空题(每空0.5分,共1 0分)1、 计算机图形学中的罔形是指由点、线、而、体等 ________________ 和明喑、灰度(亮度)、色彩等 ____________________ 构成的,从现实世界中抽象出来的带齐灰度、色彩及形状的图或形。
2、 一个计算机图形系统至少应具有 ___________ 、 _____________ 、输入、输出、 __________ 等基本功能。
3、 常用的字符描述方法有:点阵式、 ______________ 和 _________________ 。
4、 字符串剪裁的策略包栝 _____________________ 、 __________________ 和笔划/像素精确度。
5、 所谓齐次坐标就是用 ____________ 维14景表示一个n 维14量。
6、 投影变换的要素有:投影对象、 ________________ 、 _______________ 、投影线和投影。
7、 输入设备在逻辑上分成定位设备、描画设备、定值设备、 _____________________ 、拾取设备和 ____________________O8、 人机交互是指用户与计算机系统之间的通信,它是人与计算机之间各种符号和动作的 ________________________ 、9、 按照光的方向不同,光源分类为: ______________ , __________________ , ______________ 。
10、 ___________________________________________________ 从视觉的角度看,颜色包含3个要素:即 _________________________________________________ 、 _______________二、单项选择题(每题2分,共30分。
请将正确答案的序号填在 题后的括号内)1、 在CRT 显示器系统中,()是控制电了束在屏幕上的运动轨迹。
计算机图形学复习题有答案

计算机图形学复习题有答案计算机图形学复习题有答案计算机图形学是一门研究计算机如何生成、处理和显示图像的学科。
它涉及到许多重要的概念和算法,对于计算机科学和相关领域的学生来说,掌握图形学知识是非常重要的。
在学习过程中,做一些复习题是很有帮助的,下面我将为大家提供一些计算机图形学的复习题,并附上答案。
1. 什么是光栅化?答案:光栅化是将连续的几何图形转化为离散的像素点的过程。
在计算机图形学中,光栅化是将3D模型转化为2D图像的关键步骤。
2. 什么是图形管线?答案:图形管线是计算机图形学中的一个概念,它描述了图形渲染的整个过程。
图形管线包括几何处理、光栅化、着色和显示等多个阶段。
3. 什么是三角形剪裁?答案:三角形剪裁是图形管线中的一个重要步骤,用于确定哪些三角形在屏幕上可见,哪些三角形需要被裁剪掉。
它通过与屏幕边界进行比较,判断三角形是否与屏幕相交。
4. 什么是光照模型?答案:光照模型是用于模拟光照效果的数学模型。
它描述了光在物体表面的反射和折射过程,从而确定物体在不同光照条件下的颜色和明暗程度。
5. 什么是纹理映射?答案:纹理映射是将一张图像映射到三维模型表面的过程。
通过纹理映射,可以给模型表面添加细节和真实感,例如给一个球体添加地球的纹理。
6. 什么是反走样?答案:反走样是消除图像锯齿边缘的技术。
在光栅化过程中,由于像素点离散化的特性,会产生锯齿边缘。
反走样通过对像素进行插值和平滑处理,使得边缘更加平滑。
7. 什么是阴影算法?答案:阴影算法是用于计算和渲染物体阴影的算法。
常见的阴影算法包括平面投影阴影、体积阴影和阴影贴图等。
8. 什么是Bezier曲线?答案:Bezier曲线是一种数学曲线,由法国数学家Pierre Bézier发明。
它通过控制点来定义曲线的形状,具有平滑和灵活的特性,在计算机图形学中被广泛应用。
9. 什么是光线追踪?答案:光线追踪是一种逆向的渲染技术,它通过模拟光线从相机出发,与场景中的物体相交,计算出光线与物体的交点和颜色,从而生成逼真的图像。
计算机图形学复习题及答案

一、名词解释1.图形:能够在人们视觉系统中形成视觉印象的对象称为图形,包括自然景物和人工绘图。
2.像素图:点阵法列举图形中的所有点。
用点阵法描述的图形称为像素图。
3.参数图:参数法描述图形的形状参数和属性参数。
用参数法描述的图形称为参数图。
4.扫描线:在光栅扫描显示器中,电子枪扫过的一行称为一条扫描线。
5.构造实体几何表示法:用简单的实体(也称为体素)通过集合运算组合成所需的物体的方法称为构造实体几何表示法。
6.投影:投影是从高维(物体)空间到低维(投影)空间的一种映射。
7.参数向量方程:参数向量方程是包含参数和向量的方程。
8.自由曲线:形状比较复杂、不能用二次方程来表示的曲线称为自由曲线,通常以三次参数方程来表示9.曲线拟合:给定一个点列,用该点列来构造曲线的方法称为曲线拟合。
10.曲线插值:已知曲线上的一个点列,求曲线上的其他点的方法称为曲线插值。
11.区域填充:根据像素的属性值、边或顶点的简单描述,生成区域的过程称为区域填充。
12.扫描转换:在矢量图形中,多边形用顶点序列来表示,为了在光栅显示器或打印机等设备上显示多边形,必须把它转换为点阵表示。
这种转换称为扫描转换。
二、判断正误(正确写T,错误写F)1.存储颜色和亮度信息的相应存储器称为帧缓冲存储器,所存储的信息被称为位图。
(T)2.光栅扫描显示器的屏幕分为m行扫描线,每行n个小点,整个屏幕分为m╳n个中点,其中每个小点称为一个像素。
―――――――――――――――――――――(T)3.点阵字符用一个位图来表示,位图中的0对应点亮的像素,用前景色绘制;位图中的1对应未点亮的像素,用背景色绘制。
――――――――――――――――-(F)4.矢量字符表示法用(曲)线段记录字形的边缘轮廓线。
―――――――――――(T)5.将矢量字符旋转或放大时,显示的结果通常会变得粗糙难看,同样的变换不会改变点阵字符的显示效果。
―――――――――――――――――――――――――(F)6.在光栅图形中,区域是由相连的像素组成的集合,这些像素具有相同的属性值或者它们位于某边界线的内部。
(完整)山东大学计算机图形学2010试卷A(含答案),推荐文档

5. Given the following 2D scene with 6 objects (a, b, d, e, f and g), we have added 5 partitioning planes (A, B, C, D and E) to construct a binary space partitioning (BSP) tree. Draw the BSP tree and explain how to use the BSP tree to render the scene.
计算可得最终投影矩阵为:
2/(right-left) 0 0 0
0 2/(top-bottom)
0 0
0 0 2/(near-far)
0
-(right+left)/(right-left) -(bottom+top)/(top-bottom)
(far+near)/(far-near) 1
4. Answer the following questions. (1) Briefly introduce the Bresenham’s algorithm for line segment rasterization. (2) What is the advantage of the Bresenham’s algorithm over the DDA algorithm?
3. Which phase (as listed above) does each of the following operations belong to? ___c__ To convert object representations from one coordinate system to another ___d__ To generate inside fragments for a polygon and calculate their colors ___b__ To determine which objects are within the view volume ___a__ To determine the color of the corresponding pixel in the frame buffer
图形学试题参考答案

图形学试题参考答案一、名词解释(每题3分,共计18分)1.计算机图形学是利用计算机研究图形的表示、生成、显示、处理的学科。
2.改进Bezier 曲线无法表示特征多边形及局部修改性能差的缺陷,具有局部性、对称性、连续性、凸包性和几何不变性等特点。
3.用一种颜色或图案来填充一个二维区域, 确定填充区域象素点的位置以及填充象素亮度植和颜色。
4.任何小于或等于屏幕域的区域都称为视图区。
5.一种输入设备/输出设备 ,是一种对于物体触摸能产生反应的屏幕。
触摸屏由触摸检测部件和控制器组成,提供一种简单、方便、自然的人机交互方式。
6.:帧缓存是屏幕所显示画面的一个直接映象,每一存储单元对应屏幕上的一个像素,整个帧缓存对应一帧图像,用于像素的存取转换。
二、填空题(每空1分,共计20分) 1.请求 事件 2.2223.计算功能 存储功能 交互功能4.像素集合 颜色5.距离 透视6.17.扫描线8.影孔板9. 图形坐标变换(从一个点集从一个坐标系到另一个坐标系) 无穷远 10.浮点数运算 需要取整 11.顶点表示法 12.比划/像素 三、选择题(每题1分,共计10分) 1-5 FTTFT 6-10 TFFTT四、判断题(每题1分,共计10分)1-5 BDCCC 6-10 BCCBC (第6题题目印刷错误,所以全部给分) 五、简答题(每题5分,共计25分)1.种子填充算法使用假设的种子点出发,寻找区域内的所有像素点,可采用栈结构实现。
过程如下: 1) 种子入栈2) 栈若为空,算法结束;若不为空,栈顶像素出栈; 3) 将出栈像素设置为多边形色;4) 将左、上、右、下顺序检查与出栈像素相邻的四个像素,若其中某个像素不在边界且未置为多边形色,则把该像素入栈。
重复2)-4)步骤。
2.取第一象限四分之一圆,从圆弧任意点出发,顺时针方向生成圆,最精逼近该圆的下一个像素只可能为正右方、右下方和正下方像素,记为H 、D 、V 。
将三点到圆心的距离平方与圆的半径差做为H 、D 、V 到圆弧距离的度量,记为SH ,SD ,SV 。
计算机图形学题库及答案

计算机图形学题库及答案计算机图形学是计算机科学中的一个重要分支,它涉及图形的生成、处理和表示。
本题库收集了一系列计算机图形学的问题及其答案,旨在帮助学生更好地理解和掌握该领域的知识。
一、选择题1. 计算机图形学的英文缩写是什么?A. CGB. CSC. ITD. IEEE答案:A2. 以下哪一项不是计算机图形学的基本任务?A. 图形生成B. 图形渲染C. 语音识别D. 图形处理答案:C3. 二维空间中的点(x, y)关于y轴对称的点的坐标是什么?A. (-x, y)B. (x, -y)C. (-x, -y)D. (x, y)答案:A4. 在三维空间中,点(x, y, z)关于xoy平面的对称点的坐标是什么?A. (x, y, -z)B. (x, y, z)C. (-x, -y, z)D. (-x, -y, -z)答案:A5. 以下哪个变换是不变的?A. 缩放B. 旋转C. 投影D. 平移答案:B二、填空题1. 计算机图形学的基本任务包括图形生成、图形渲染和______。
答案:图形处理2. 点(x, y)关于原点的对称点的坐标是______。
答案:(-x, -y)3. 在三维空间中,点(x, y, z)关于xoy平面的对称点的坐标是______。
答案:(x, y, -z)4. 矩阵乘法的定义是:如果A是一个m×n矩阵,B是一个n×p 矩阵,则C = AB是一个______矩阵。
答案:m×p5. 计算机图形学中的齐次坐标表示法中,点(x, y, z, w)的二维坐标表示为______。
答案:(x/w, y/w)三、简答题1. 请简要描述计算机图形学的基本任务。
答案:计算机图形学的基本任务包括图形生成、图形渲染和图形处理。
图形生成是指利用计算机硬件和软件生成各种图形;图形渲染是指将图形数据转换为图像显示在屏幕上;图形处理是指对图形进行各种变换和操作,以满足用户的需要。
2. 请解释什么是矩阵乘法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年图形学复习题及其解答1.计算机图形学的定义答:计算机图形学是研究在计算机中输入、表示、处理和显示图形的原理、方法及硬件设备的学科。
几何计算专门研究几何图形信息(曲面和三维实体)的计算机表示、分析、修改和综合2.图形本质上是有线形、宽度、颜色等属性信息的图形元素的组合。
因此,抽象的图形的本质可以概括为:图形=图元+属性。
几何计算是计算机图形学的基础。
图形学表示、生成和处理是建模-变换-像素点的几何位置决定的过程,属于几何或者3D问题;显示应该是对客观世界的机内表示的再现,是决定屏幕点的显示属性(可见性和颜色:色调、色饱和度、亮度)属于图像或者2D问题。
计算机图形学所研究的图形是从客观世界物体中抽象出来的带有颜色及其形状信息的图和形3.计算机图形学主要研究两个问题:一是如何在计算机中构造一个客观世界——几何(模型)的描述、创建和处理,以“几何”一词统一表述之;二是如何将计算机中的虚拟世界用最形象的方式静态或者动态的展示出来——几何的视觉再现,以“绘制”一词统一描述之。
因此可以说:计算机图形学=几何+绘制。
几何是表示,是输入。
绘制是展现,是输出。
4.计算机图形学、图像处理、计算几何之间的关系。
答:计算机图形学的主要目的是由数学模型生成的真实感图形,其结果本身就是数字图像;而图像处理的一个主要目的是由数字图像建立数字模型,这说明了图形学和图像处理之间相互密切的关系。
计算机几何定义为形状信息的计算机表示、分析与综合。
随着计算机图形学及其应用的不断发展,计算机图形学、图像处理和计算几何等与图相关的学科越来越融合,且与应用领域的学科相结合,产生了诸如可视化、仿真和虚拟现实等新兴学科。
5.一个三维场景视觉实现的基本工作过程根据假定的光照条件和景物外观因素,依据该光照模型,模拟光能在场景中的传播和分布(包括光线在不同物体间的吸收、反射、折射和散射等过程),计算得到画面上每一点的光强和色彩值后,根据视觉特点转换成适合于显示设备的颜色值,得到画面上每一个像素的属性。
这是一个光强与色彩的量化、纹理映射、图像合成、帧缓存等一些基于物理、光学、色彩理论和技术的复杂计算过程6.计算机图形学开篇之作及其相关信息。
答:1963年MIT的Ivan E. Sutherland在他的博士论文“Sketchpad:一个人-机通信的图形系统”中首次提出“Computer Graphics (计算机图形学)”,使用阴极射线管显示器和光笔,可交互式地生成简单图形。
他本人被称为计算机图形学之父7.计算机图形学的相关应用领域的术语定义及其英文名称和缩略语答:图形用户界面(GUI)计算机辅助设计与制造(CAD/CAM)科学计算可视化(visualization in scientific computing)地理信息系统(GIS)娱乐计算机艺术虚拟现实(VR)逆向工程(reverse engineering)8.图形输入设备逻辑分类和输出设备的分类答:图形输入设备从逻辑上分为6种功能,即定位(locator)、笔画(stroke)、数值(valuator)、选择(choice)、拾取(pick)及字符串(string);图形的输出设备主要有显示器、打印机和绘图仪两种。
9.图形显示设备的相关术语:像素、分辩率、点距等等。
答:电子枪发射电子束,经过聚焦在偏转系统控制下电子束轰击荧光屏,在荧光屏上产生足够小的光点,光点称为像素(pixel)。
阴极射线管在水平和垂直方向单位长度上能识别的最大光点数称为分辨率。
点距一般是指显示屏相邻两个像素点之间的距离。
10.CRT显示设备的主要组成部件及其工作原理。
答:CRT显示设备主要由电子枪、聚焦系统、加速电极、偏转系统和荧光屏五部分组成。
其工作原理是:高速的电子束由电子枪发出,经过聚焦系统、加速系统和磁偏转系统就会到达荧光屏的特定位置。
由于荧光物质在高速电子的轰击下会示列表(Display List)用于存储一部分指令,留待合适时间以便于快速处理。
光栅化将图元转化成二维操作,并计算结果图像中每个点的颜色和深度等信息,产生一系列图像的帧缓存描述值,其生成结果称为基片(Fragment)。
基片操作主要的有帧缓存的更新、测试、融合和屏蔽操作,以及基片之间的逻辑操作和抖动(Dithering)。
程序:#include <glut.h>void init(void){glClearColor(1.0,1.0,1.0,0.0); //设置图形显示窗口为白色glMatrixMode(GL_PROJECTION); //设置投影参数gluOrtho2D(0.0,200.0,0.0,150.0); //设置投影面的大小}void lineSegment(void){glClear(GL_COLOR_BUFFER_BIT);//刷新显示窗口缓存glColor3f(1.0,0.0,0.0); //设置划线的颜色glBegin(GL_LINES); //指定线的参数glVertex2i(180,15);glVertex2i(10,145);glEnd();glFlush(); //强制机器尽快执行OpenGL函数}int main(int argc,char** argv){glutInit(&argc,argv); //初始化GLUTglutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//设置显示模式glutInitWindowPosition(50,100); //设置显示窗口的大小和位置glutInitWindowSize(400,300);glutCreateWindow(“An Example OpenGL Program”);//创建显示窗口init(); //执行初始化过程glutDisplayFunc(lineSegment); //发送OpenGL图形到显示窗口glutMainLoop(); //显示并等待return 0;}11.正确使用OpenGL有关缓存的预定义常量以及相关的语句答:1、颜色缓存函数:(1)清除颜色缓存glClear(GL_COLOR_BUFFER_BIT)(2)设置清除颜色 glClearColor(red,green,blue,alpha)(3)屏蔽颜色缓存 glColorMask()(4)选择颜色缓存 glDrawBuffer()(5)交换颜色缓存 swapBuffer()2、深度缓存:(1) 清除深度缓存 glClear(GL_DEPTH_BUFFER_BIT)(2) 设置清除值 glClearDepth(1.0)(3) 屏蔽深度缓存 glDepthMask(GL_TRUE)(4)启动和关闭深度测试 glEnable(GL_ DEPTH_TEST)(5)确定测试条件 glDepthFunc()(6)确定深度范围 glDepthRange(Glclampd zNear,Glclampd zFar)3、模板缓存4、累积缓存12.常用的直线扫描转换算法有哪些?答:数值微分法(DDA) 、中点画线法和Bresenham算法。
13.DDA和Bresenham算法的基本原理(就是指最后增量公式的推导过程)、算法OpenGL编程实现、手工计算给定端点直线的扫描像素点。
答:DDA算法基本原理是用数值方法解微分方程,通过同时对x和y各增加一个小增量,计算下一步的x、y值。
Bresenham 算法的基本原理是借助于一个误差量(直线与当前实际绘制像素点的距离),来确定下一个像素点的位置。
算法的巧妙之处在于采用增量计算,使得对于每一列,只要检查误差量的符号,就可以确定该下一列的像素位置。
14.中点画圆算法OpenGL编程实现(八分之一圆、完整圆)。
八分之一圆程序:MidPointCircle(int r, int color){int x,y;int e;x=0; y=r ; e=1-r ;circlepoints (x,y,color);//做对称处理while(x<=y){if(e<0)e+=2*x+3;else{e+=2*(x-y)+5;y--;}x++;circlepoints (x,y,color); //做对称处理}}15.图形的边界处理原则。
多边形两种表示方法及其特点。
答:原则:左闭右开,上闭下开。
两种重要的表示方法:顶点表示和点阵表示。
所谓顶点表示,即是用多边形的顶点序列来表示多边形。
这种表示直观、几何意义强、占内存少,易于进行几何变换,但由于它没有明确指出哪些像素在多边形内,故不能直接用于区域填充。
所谓点阵表示,则是用位于多边形内的像素集合来刻画多边形。
这种表示丢失了许多几何信息,但便于进行填充。
16.扫描线多边形区域填充算法的原则。
答:待填充区域按Y方向(X方向亦可)扫描线顺序扫描生成。
17.有序边表扫描线算法实现步骤。
边界标记算法的基本思想和伪代码描述。
答:有序边表扫描线算法实现步骤(1) 求交:计算扫描线与多边形各边的交点;(2) 排序:把所有交点按x值递增顺序排序;(3) 配对:第一个与第二个,第三个与第四个等等;每对交点代表扫描线与多边形的一个相交区间;(4) 填色:把相交区间内的像素置成多边形颜色,把相交区间外的像素置成背景色。
边界标记算法的基本思想:帧缓冲器中对多边形的每条边进行直线扫描转换,亦即对多边形边界所经过的象素打上标志。
然后再采用和扫描线算法类似的方法将位于多边形内的各个区段着上所需颜色。
使用一个布尔量inside来指示当前点是否在多边形内的状态。
伪代码: void edgemark_fill(polydef, color)多边形定义 polydef; int color;{ 对多边形polydef 每条边进行直线扫描转换;inside = FALSE;for (每条与多边形polydef相交的扫描线y )f or (扫描线上每个象素x ){ if(象素 x 被打上边标志)inside = ! (inside);if(inside!= FALSE)drawpixel (x, y, color);else drawpixel (x, y, background);}}18.四种子和八种子填充算法以及边界填充算法的程序实现。
内点表示的四种子填充算法程序:void FloodFill4(int x,int y,int oldcolor,int newcolor){if(GetPixel(x,y)==oldcolor){SetPixel(x,y,newcolor);FloodFill4(x,y+1,oldcolor,newcolor);FloodFill4(x,y-1,oldcolor,newcolor);FloodFill4(x-1,y,oldcolor,newcolor);FloodFill4(x+1,y,oldcolor,newcolor);}}边界表示的四种子填充算法程序:void BoundaryFill4(int x,int y,int boundarycolor,int newcolor){int color;if(color!=newcolor && color!=boundarycolor){SetPixel(x,y,newcolor);BoundaryFill4 (x,y+1, boundarycolor,newcolor);BoundaryFill4 (x,y-1, boundarycolor,newcolor);BoundaryFill4 (x-1,y, boundarycolor,newcolor);BoundaryFill4 (x+1,y, boundarycolor,newcolor);}}19.VC++框架的绘图的函数:OnDraw的使用。