计算机图形学--第五讲 裁剪的基本概念与直线裁剪

1

2

直线生成算法圆与椭圆的绘制算法5图元的概念4

3

6

区域填充算法裁剪

反走样技术

4.5 裁剪—

4.5 裁剪—

4.5 裁剪—

4.5 裁剪—

4.5 裁剪—

4.5 裁剪—

算法实现

◆第一步

◆第二步

4.5 裁剪—

编码实现(第一步)

九个区域,每一个区域采用四位编码对于任一端点

左),赋予一个

◆左:若

◆右:若

◆下:若

◆上:若

4.5 裁剪—

编码实现(第一步)

对要被裁剪的线段的两个端点,如果其所在的区域的编码均是

如果两个编码的

见的,可简弃之;

如果两个编码的

少一个端点非

在交点处把线段一分为二,其中必有一

段完全在窗口外,可弃之。再对另一段

重复进行上述处理,直到该线段完全被

舍弃或找到位于窗口内的一段线段为止。

4.5 裁剪—

析出

点。求出其交点

见的,因而只要对

上述处理步骤。

y=

裁剪结束。

算法步骤

界坐标:

code2(0100)

之,转

则交换

段与窗口边界的交点除p

算法的编码实现

到另一端点间的线段重复上述过程直到接受或拒绝;

计算线段

if(LEFT&code

else if(RIGHT&code

else if(BOTTOM&code {y=YB;

else if(TOP & code !=0) {y=YT;

Cohen-Sutherland

Nicholl et al. An efficient new algorithm for 2-D line clipping: its

4.5 裁剪—

4.5 裁剪—

4.5 裁剪—

4.5 裁剪—)

界L

上;

要条件

A和该处内法向量

P(t)

4.5 裁剪—)

计算机图形学裁剪算法详解

裁剪算法详解 在使用计算机处理图形信息时,计算机部存储的图形往往比较大,而屏幕显示的只是图的一部分。因此需要确定图形中哪些部分落在显示区之,哪些落在显示区之外,以便只显示落在显示区的那部分图形。这个选择过程称为裁剪。最简单的裁剪方法是把各种图形扫描转换为点之后,再判断各点是否在窗。但那样太费时,一般不可取。这是因为有些图形组成部分全部在窗口外,可以完全排除,不必进行扫描转换。所以一般采用先裁剪再扫描转换的方法。 (a)裁剪前 (b) 裁剪后 图1.1 多边形裁剪 1直线段裁剪 直线段裁剪算法比较简单,但非常重要,是复杂图元裁剪的基础。因为复杂的曲线可以通过折线段来近似,从而裁剪问题也可以化为直线段的裁剪问题。常

用的线段裁剪方法有三种:Cohen-Sutherland,中点分割算法和梁友栋-barskey 算法。 1.1 Cohen-Sutherland裁剪 该算法的思想是:对于每条线段P1P2分为三种情况处理。(1)若P1P2完全在窗口,则显示该线段P1P2简称“取”之。(2)若P1P2明显在窗口外,则丢弃该线段,简称“弃”之。(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。 为使计算机能够快速判断一条直线段与窗口属何种关系,采用如下编码方法。延长窗口的边,将二维平面分成九个区域。每个区域赋予4位编码CtCbCrCl.其中各位编码的定义如下:

图1.2 多边形裁剪区域编码图5.3线段裁剪 裁剪一条线段时,先求出P1P2所在的区号code1,code2。若code1=0,且code2=0,则线段P1P2在窗口,应取之。若按位与运算code1&code2≠0,则说明两个端点同在窗口的上方、下方、左方或右方。可判断线段完全在窗口外,可弃之。否则,按第三种情况处理。求出线段与窗口某边的交点,在交点处把线段一分为二,其中必有一段在窗口外,可弃之。在对另一段重复上述处理。在实现本算法时,不必把线段与每条窗口边界依次求交,只要按顺序检测到端点的编码不为0,才把线段与对应的窗口边界求交。 Cohen-Sutherland裁减算法 #define LEFT 1 #define RIGHT 2 #define BOTTOM 4

计算机图形学试题附答案完整版

名词解释 将图形描述转换成用像素矩阵表示的过程称为扫描转换。 1.图形 2.像素图 3.参数图 4.扫描线 5.构造实体几何表示法 6.投影 7.参数向量方程 8.自由曲线 9.曲线拟合 10.曲线插值 11.区域填充 12.扫描转换 三、填空 1.图形软件的建立方法包括提供图形程序包、和采用专用高级语言。 2.直线的属性包括线型、和颜色。 3.颜色通常用红、绿和蓝三原色的含量来表示。对于不具有彩色功能的显示系统,颜色显示为。 4.平面图形在内存中有两种表示方法,即和矢量表示法。 5.字符作为图形有和矢量字符之分。 6.区域的表示有和边界表示两种形式。 7.区域的内点表示法枚举区域内的所有像素,通过来实现内点表示。 8.区域的边界表示法枚举区域边界上的所有像素,通过给赋予同一属性值来实现边界表示。 9.区域填充有和扫描转换填充。 10.区域填充属性包括填充式样、和填充图案。 11.对于图形,通常是以点变换为基础,把图形的一系列顶点作几何变换后,

连接新的顶点序列即可产生新的变换后的图形。 12.裁剪的基本目的是判断图形元素是否部分或全部落在之内。 13.字符裁剪方法包括、单个字符裁剪和字符串裁剪。 14.图形变换是指将图形的几何信息经过产生新的图形。 15.从平面上点的齐次坐标,经齐次坐标变换,最后转换为平面上点的坐标,这一变换过程称为。 16.实体的表面具有、有界性、非自交性和闭合性。 17.集合的内点是集合中的点,在该点的内的所有点都是集合中的元素。 18.空间一点的任意邻域内既有集合中的点,又有集合外的点,则称该点为集合的。 19.内点组成的集合称为集合的。 20.边界点组成的集合称为集合的。 21.任意一个实体可以表示为的并集。 22.集合与它的边界的并集称集合的。 23.取集合的内部,再取内部的闭包,所得的集合称为原集合的。 24.如果曲面上任意一点都存在一个充分小的邻域,该邻域与平面上的(开)圆盘同构,即邻域与圆盘之间存在连续的1-1映射,则称该曲面为。 25.对于一个占据有限空间的正则(点)集,如果其表面是,则该正则集为一个实体(有效物体)。 26.通过实体的边界来表示一个实体的方法称为。 27.表面由平面多边形构成的空间三维体称为。 28.扫描表示法的两个关键要素是和扫描轨迹。 29.标量:一个标量表示。 30.向量:一个向量是由若干个标量组成的,其中每个标量称为向量的一个分量。 四、简答题 1. 什么是图像的分辨率?

计算机图形学作业-Display-答案分析

计算机图形学作业I 一.判断题 1.齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点;(×) 2.若要对某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做比例或旋转变换,然后在将原点平移回去;(√) 3. 相似变换是刚体变换加上等比缩放变换;(√) 4. 保距变换是刚体变换加上镜面反射;(√) 5. 射影变换保持直线性,但不保持平行性。(√) 二、填空题 1.透视投影的视见体为截头四棱锥形状;平行投影的视见体为长方体形状。 2.字符的图形表示可以分为矢量表示和点阵表示两种形式。 3.仿射变换保持直线的平行性 4.刚体变换保持长度 5.保角变换保持向量的角度 三、单项选择题 1. 分辨率为1024×1024的显示器各需要多少字节位平面数为24的帧缓存?( D) A. 512KB; B. 1MB; C. 2MB; D. 3MB ; 2. 在透视投影中,主灭点的最多个数是( C ) A 1; B 2; C 3; D 4 3. 以下关于图形变换的论述不正确的是( B ) A. 平移变换不改变图形大小和形状,只改变图形位置; B. 拓扑关系不变的几何变换不改变图形的连接关系和平行关系; C.旋转变换后各图形部分间的线性关系和角度关系不变,变换后直线的长度不变 D.错切变换虽然可引起图形角度的改变,但不会发生图形畸变; 4. 使用下列二维图形变换矩阵:将产生变换的结果为( D ) A. 图形放大2倍; B. 图形放大2倍,同时沿X、Y1个绘图单位; C.沿X坐标轴方向各移动2个绘图单位; D.沿X坐标轴方向放大2倍,同时沿X、Y坐标轴方向各平移1个绘图单位。 5. 下列有关投影的叙述语句中,正确的论述为(B ) A. 透视投影具有近小远大的特点; B. 平行投影的投影中心到投影面距离是无限的; C. 透视投影变换中,一组平行于投影面的线的投影产生一个灭点; T =

计算机图形学裁剪

《计算机图形学》实验报告 学院:理学院专业:信息与计算科学班级:姓名学号指导教师实验时间 4. 实验地点计算机实验室成绩实验项目名称裁剪 实 验 环 境 VC++ 6.0 实 验内容 (1)理解直线裁剪的原理(Cohen-Surtherland算法、梁友栋算法) (2)利用VC+OpenGL实现直线的编码裁剪算法,在屏幕上用一个封闭矩形裁剪任意一条直线。 (3)调试、编译、修改程序。 实验原理编码裁剪算法的主要思想是:对于每条线段,分为三种情况处理。(1)若线段完全在窗口之内,则显示该线段,称为“取”;(2)若线段明显在窗口之外,则丢弃该线段,称为“弃”;(3)若线段既不满足“取”的条件,也不满足“舍”的条件,则把线段分割为两段。其中一段完全在窗口之外,可弃之;对另一段则重复上述处理 实验过程#include #include #include #define LEFT_EDGE 1 #define RIGHT_EDGE 2 #define BOTTOM_EDGE 4 #define TOP_EDGE 8 void LineGL(int x0,int y0,int x1, int y1) { glBegin(GL_LINES); glColor3f(1.0f,0.0f,0.0f); glVertex2f(x0,y0); glColor3f(0.0f,1.0f,0.0f); glVertex2f(x1,y1); glEnd();

} struct Rectangle { float xmin,xmax,ymin,ymax; }; Rectangle rect; int x0,y0,x1,y1; int CompCode(int x,int y,Rectangle rect) { int code=0x00; if(yrect.ymax) code=code|8; if(x>rect.xmax) code=code|2; if(x

计算机图形学作业-Display-答案

计算机图形学作业 I 一.判断题 1.齐次坐标提供了坐标系变换的有效方法,但仍然无法表示无穷远的点;(×) 2.若要对某点进行比例、旋转变换,首先需要将坐标原点平移至该点,在新的坐标系下做比例或旋转变换,然后在将原点平移回去;(√) 3. 相似变换是刚体变换加上等比缩放变换;(√) 4. 保距变换是刚体变换加上镜面反射;(√) 5. 射影变换保持直线性,但不保持平行性。(√) 二、填空题 1.透视投影的视见体为截头四棱锥形状;平行投影的视见体为长方体形状。 2.字符的图形表示可以分为矢量表示和点阵表示两种形式。 3.仿射变换保持直线的平行性 4.刚体变换保持长度 5.保角变换保持向量的角度 三、单项选择题 1. 分辨率为1024×1024的显示器各需要多少字节位平面数为24的帧缓存?( D) A. 512KB; B. 1MB; C. 2MB; D. 3MB ; 2. 在透视投影中,主灭点的最多个数是( C ) A 1; B 2; C 3; D 4 3. 以下关于图形变换的论述不正确的是( B ) A. 平移变换不改变图形大小和形状,只改变图形位置; B. 拓扑关系不变的几何变换不改变图形的连接关系和平行关系; C.旋转变换后各图形部分间的线性关系和角度关系不变,变换后直线的长度不变 D.错切变换虽然可引起图形角度的改变,但不会发生图形畸变; 4. 使用下列二维图形变换矩阵:将产生变换的结果为( D ) A. 图形放大2倍; B. 图形放大2倍,同时沿X、Y1个绘图单位; C.沿X坐标轴方向各移动2个绘图单位; D.沿X坐标轴方向放大2倍,同时沿X、Y坐标轴方向各平移1个绘图单位。 5. 下列有关投影的叙述语句中,正确的论述为(B ) A. 透视投影具有近小远大的特点; B. 平行投影的投影中心到投影面距离是无限的; C. 透视投影变换中,一组平行于投影面的线的投影产生一个灭点; T =

计算机图形学作业答案

计算机图形学作业答案 第一章序论 第二章图形系统 1.什么是图像的分辨率? 解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。 2.计算在240像素/英寸下640×480图像的大小。 解答:(640/240)×(480/240)或者(8/3)×2英寸。 3.计算有512×512像素的2×2英寸图像的分辨率。 解答:512/2或256像素/英寸。 第三章二维图形生成技术 1.一条直线的两个端点是(0,0)和(6,18),计算x从0变到6时y所对应的值,并画出结果。 解答:由于直线的方程没有给出,所以必须找到直线的方程。下面是寻找直线方程(y =mx+b)的过程。首先寻找斜率: m =⊿y/⊿x =(y 2-y 1 )/(x 2 -x 1 )=(18-0)/(6-0) = 3 接着b在y轴的截距可以代入方程y=3x+b求出 0=3(0)+b。因此b=0,所以直线方程为y=3x。 2.使用斜截式方程画斜率介于0°和45°之间的直线的步骤是什么? 解答: (1)计算dx:dx=x 2-x 1 。 (2)计算dy:dy=y 2-y 1 。 (3)计算m:m=dy/dx。 (4)计算b: b=y 1-m×x 1 (5)设置左下方的端点坐标为(x,y),同时将x end 设为x的最大值。如果 dx < 0,则x=x 2、y=y 2 和x end =x 1 。如果dx > 0,那么x=x 1 、y=y 1 和x end =x 2 。 (6)测试整条线是否已经画完,如果x > x end 就停止。 (7)在当前的(x,y)坐标画一个点。 (8)增加x:x=x+1。 (9)根据方程y=mx+b计算下一个y值。 (10)转到步骤(6)。 3.请用伪代码程序描述使用斜截式方程画一条斜率介于45°和-45°(即|m|>1)之间的直线所需的步骤。

2016年春《计算机图形学》作业 (答案)

2016年北京大学现代远程教育《计算机图形学》作业题 注意事项: 1.本作业题中所标注的章节均以学习指导和课件为准; 2.作业请独立自主完成,不要抄袭。 一、填空题 1.(第1章)图形是由点、线、面、体等几何要素和明暗、灰度(亮度)、色彩等非几何要素构成的,从现实世界中抽象出来的带有灰度、色彩及形状的图或形。 2.(第2章)一个计算机图形系统至少应具有计算、存储、输入、输出、交互等基本功能; 3.(第2章)光栅扫描图形显示器是画点设备,显示一幅图像所需要的时间等于显示整个光栅所需的时间,而与图像的复杂程度无(填“有”或“无”)关; 4.(第3章)在计算机图形学中,多边形有两种重要的表示方法:顶点表示和点阵表示。 5.(第3章)多边形填充的扫描线算法先求出扫描线与多边形边的交点,利用____扫描线的连续性求出多边形与扫描线相交的连续区域,然后利用多边形边的连续性,求出下一条扫描线与多边形的交点,对所有扫描线由下到上依次处理。 6.(第3章)将区域内的一点(种子)赋予给定的颜色,然后将这种颜色扩展到整个区域内的过程叫区域填充;区域的表示方法有内点表示和 边界表示两种。 7.(第4章)常用坐标系一般可以分为世界坐标系、局部坐标系、观察坐标系、设备坐标系、标准化设备坐标系。

8.(第4章)对于基本几何变换,一般有平移、旋转、反射和错切等。这些基本几何变换都是相对于 坐标原点 和 坐标轴 进行的几何变换。 9.(第4章)在三维空间中的物体进行透视投影变换,最多可能产生 3 个主灭点。 10.(第6章)根据输入数据的不同性质,图形核心系统(GKS)和三维图形系统 (PHIGS)把输入设备在逻辑上分成以下几类: 定位___设备、 笔画__设备、 定值 设备、 选择 设备、 拾取 设备、 字符串 设备。 11.(第7章)隐藏面和隐藏线的消除有两种基本的算法,一种是基于 图像空间 的方法,一种是基于 物体空间 的方法。 12.(第7章)扫描线z 缓冲器算法所用到的数据结构包括一个 多边形y 筒 、一个 边y 筒 、一个 多边形活化表__、一个 边活化表___; 13.(第8章)通常,人们把反射光考虑成3个分量的组合,这3个分量分别是_ 环境光 反射、 漫 反射和 镜面 反射。 14.(第8章)为了解决由多个平面片近似表示曲面物体的绘制问题,人们提出了各种的简单算法,其中最具代表性的两种方法: Gouraud 光亮度插值技术 和 Phong 法向量插值技术 。 15.(第9章)对于三次多项式曲线,常用四个几何条件进行描述:两端点的位置P 0=P (0)和P 1=P (1);两端点的切矢量和;那么参数曲线的多项式表示为,其中,F 0(t )=___13223+-t t __,F 1(t )=__2332t t +-___,G 0(t )=__t t t +-232___, G 1(t )=____23t t -___。 二、选择题 1.(第2章)下列不属于图形输入设备的是____D____; A .键盘 B. 鼠标 C. 扫描仪 D. 打印机

计算机图形学实验报告-二维裁剪

计算机科学与技术学院 2013-2014学年第一学期《计算机图形学》实验报告 班级: 学号: 姓名: 教师: 成绩:

实验项目(3、二维裁剪) 一、 实验目的与要求 (1) 掌握线段裁剪算法原理,并实现其算法。 (2) 理解多边形裁剪、字符裁剪算法思想,能编程实现其算法。 二、 实验内容 设计菜单程序,利用消息处理函数,完成以下要求: (1) 实现直线段的标号法(Cohen-Sutherland )、矩形窗口裁剪算法。 (2) 参考教材中的算法,用矩形窗口实现多边形的Sutherland-Hodgman 裁剪算法。 三、 重要算法分析 以下分析Cohen-Sutherland 和Sutherland-Hodgma n 两个算法,其中Cohen-Sutherland 算法的基本思想通过编码的方法快速实现对直线段的裁剪;Sutherland-Hodgman 算法基本思想是用窗口的四条边所在的直线依次来裁剪多边形。 (一) Cohen-Sutherland 算法 该算法的基本思想是:对于每条待裁剪的线段P 1,P 2分三种情况处理: (1) 若P 1P 2完全在窗口内,则显示该线段。 (2) 若P 1P 2完全在窗口外,则丢弃该线段。 (3) 若线段既不满足“取”的条件,也不满足“舍”的条件,则求线段与窗口边界的交点,在交点处把线段分为两段。 1. 编码原则 具体编码过程为将延长线窗口的四条边线(y T 、y B 、x R 、x L ),将二维平面分成九个区域,全为0的区域是裁剪窗口,其中各位编码的定义如下: {T y y other T C >= 10 {B y y other B C <=10 {R x x other R C >= 10 {L x x other L C <=10 按照如上定义,相应区域编码如图1所示。

计算机图形学课程总结

计算机图形学报告 前言 计算机图形学(Computer Graphics,简称CG)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。 其从狭义上是来说是一种研究基于物理定律、经验方法以及认知原理,使用各种数学算法处理二维或三维图形数据,生成可视数据表现的科学。广义上来看,计算机图形学不仅包含了从三维图形建模、绘制到动画的过程,同时也包括了对二维矢量图形以及图像视频融合处理的研究。由于计算机图形学在许多领域的成功运用,特别是在迅猛发展的动漫产业中,带来了可观的经济效益。另一方面,由于这些领域应用的推动,也给计算机图形学的发展提供了新的发展机遇与挑战。 计算机图形学的发展趋势包括以下几个方面: 1、与图形硬件的发展紧密结合,突破实时高真实感、高分辨率渲染的技术难点; 2、研究和谐自然的三维模型建模方法; 3、利用日益增长的计算性能,实现具有高度物理真实的动态仿真; 4、研究多种高精度数据获取与处理技术,增强图形技术的表现; 5、计算机图形学与图像视频处理技术的结合; 6、从追求绝对的真实感向追求与强调图形的表意性转变。 1、三维物体的表示 计算机图形学的核心技术之一就是三维造型三维物体种类繁多、千变万化,如树、花、云、石、水、砖、木板、橡胶、纸、大理石、钢、玻璃、塑料和布等等。因此,不存在描述具有上述各种不同物质所有特征的统一方法。为了用计算机生成景物的真实感图形,就需要研究能精确描述物体特征的表示方法。根据三维物体的特征,可将三维物体分为规则物体和非规则物体两类。

计算机图形学_实验报告三_图形裁剪算法

图形裁剪算法 1.实验目的: 理解区域编码 设计直线裁剪算法 编程实现直线裁剪算法 2.实验描述: 设置裁剪窗口坐标为:wxl=250;wxr=850;wyb=250;wyt=450;裁剪前如下图所示: 裁剪后结果为: 3.算法设计: 直线裁剪算法: 假设裁剪窗口是标准矩形,由上(y=wyt)、下(y=wyb)、左(x=wxl)、右(x=wxr)四条边组成,如下图所示。延长窗口四条边形成9个区域。根据被裁剪直线的任一端点P(x,y)所处的窗口区域位置,可以赋予一组4位二进制区域码C4C3C2C1。

编码定义规则: 第一位C1:若端点位于窗口之左侧,即XWxr,则C2=1,否则C2=0。 第三位C3:若端点位于窗口之下侧,即YWyt,则C4=1,否则C4=0。 裁剪步骤: 1. 若直线的两个端点的区域编码都为0,即RC1|RC2=0(二者按位相或的结果为0,即RC1=0 且RC2=0),说明直线两端点都在窗口内,应“简取”。 2. 若直线的两个端点的区域编码都不为0,即RC1&RC2≠0(二者按位相与的结果不为0,即RC1≠0且RC2≠0,即直线位于窗外的同一侧,说明直线的两个端点都在窗口外,应“简弃”。 3. 若直线既不满足“简取”也不满足“简弃”的条件,直线段必然与窗口相交,需要计算直线与窗口边界的交点。交点将直线分为两段,其中一段完全位于窗口外,可“简弃”。对另一段赋予交点处的区域编码,再次测试,再次求交,直至确定完全位于窗口内的直线段为止。 4. 实现时,一般按固定顺序左(x=wxl)、右(x=wxr)、下(y=wyb)、上(y=wyt)求解窗口与直线的交点。

电子科大15春《计算机图形学》在线作业1答案

15春《计算机图形学》在线作业1 一、单选题(共10 道试题,共50 分。) 1. 下列有关平面几何投影的叙述语句中,正确的论述为____。 A. 在平面几何投影中,若投影中心移到距离投影面无穷远处,则成为平行投影 B. 透视投影与平行投影相比,视觉效果更有真实感,而且能真实地反映物体的精确的尺寸和形状 C. 透视投影变换中,一组平行线投影在与之平行的投影面上,可以产生灭点 D. 在三维空间中的物体进行透视投影变换,可能产生三个或者更多的主灭点 正确答案:A 2. ____是可以判别点在区域内外的方法。 A. 反走样法 B. 射线法 C. 中点分割法 D. Roberts方法 正确答案:A 3. 触摸屏是____设备。 A. 输入 B. 输出 C. 输入输出 D. 既不是输入也不是输出 正确答案:C 4. 灰度等级为16级,分辨率为1024*1024的显示器,至少需要的帧缓存容量为____。 A. 512KB B. 1MB C. 2MB D. 3MB 正确答案:A 5. 在下列有关曲线和曲面概念的叙述语句中,错误的论述为____。 A. 实体模型和曲面造型是CAD系统中常用的主要造型方法,曲面造型是用参数曲面描述来表示一个复杂的物体 B. 在曲线和曲面定义时,使用的基函数应有两个重要性质:凸包性和仿射不变性 C. 从描述复杂性和形状灵活性考虑,最常用的参数曲面是3次有理多项式的曲面 D. 参数形式和隐含形式都是精确的解析表示法,在计算机图形学中,它们一样好用 正确答案:D 6. 下在下列叙述语句中,错误的论述为____。 A. 在图形文件系统中,点、线、圆等图形元素通常都用其几何特征参数来描述

梁友栋-Barsky直线裁剪算法计算机图形学课程设计

河南理工大学 万方科技学院 课程设计报告 2011 — 2012学年第二学期 课程名称计算机图形学 设计题目计算机图形学基本算法 演示系统设计 学生姓名 学号 专业班级网络11升—1班 指导教师徐文鹏 2012 年5 月28 日

目录 第1章设计内容与要求 (1) 1.1 总体目标和要求 (1) 1.2内容与要求 (1) 1.2.1 直线的生成 (1) 1.2.2 圆弧的生成 (1) 1.2.3 线段裁剪 (2) 1.2.4 多边形裁剪 (2) 1.2.5 综合 (2) 第2章总体设计 (3) 2.1 Bresenham算法画直线 (3) 2.1.1 Bresenham算法画直线理论基础 (3) 2.1.2 Bresenham算法画直线原理 (3) 2.2 Bresenham算法画圆 (4) 2.2.1 Bresenham算法画圆理论基础 (4) 2.2.2 Bresenham算法画圆原理 (5) 2.3 梁友栋-Barsky算法进行线段裁剪 (6) 2.3.1梁友栋-Barsky算法进行线段裁剪基本原理 (6) 2.4 Sutherland-Hodgman算法进行多边形裁剪 (8) 2.4.1 Sutherland—Hodgman多边形裁剪算法思想 (8) 2.4.2 点在边界内侧的判断方法 (8) 2.4.4 Sutherland-Hodgeman多边形裁剪算法特点 (8) 第3章详细设计 (9) 3.1 Bresenham算法画直线 (9) 3.1.1 Bresenham 算法画线算法具体实现过程 (9) 3.2 Bresenham算法画圆 (9) 3.2.1 Bresenham 算法画圆核心代码 (9)

计算机图形学-作业答案-几何图形流水线

几何图形流水线:共12题,其中第1-9题每题10分,第10题不计分,第11、12题每题5分,总分100分 1.图形流水线总体上可分为两段,它们的名称分别是什么? 答:图形流水线总体上可分为“几何图形流水线”和“像素图形流水线”两段,分别用于生成、处理几何图形与像素图形。(注:两段流水线的分隔点在“透视投影”这一步骤,投影后,三维几何图形转换为二维几何图形,几何图形处理结束,像素图形处理开始) 2.简述几何图形与像素图形的区别、联系。 答: (1)几何图形可以是三维的,也可以是二维的,这种图形是连续的、理想的图形,点(Point)无穷小,无尺寸、形状概念,直线无宽度概念,平面无厚度概念,直线、平面均由无穷不可数点集构成。在图形系统中描述几何图形时,往往采用能够唯一确定几何图形的参数。例如,用直线段的2个端点描述直线段,用多边形的顶点序列描述多边形等。 (2)像素图形一般使用二维结构,这种图形是离散的、实际的图形,像素(Pixel)有尺寸、形状的概念,并不是无穷小的点,由像素构成的直线段也有宽度概念,直线段、多边形均由有限的像素构成。在图形系统中描述像素图形时,必须使用规则的像素阵列描述图形的整体信息,而不是其关键参数。例如,描述直线段时必须给出该直线段经过的所有像素,描述多边形时必须给出多边形覆盖的所有像素。由于像素图形的基本组成单位与图像一致,都是像素,因此,在不引起混淆的情况下,不特定区分这两种术语。 (3)几何图形可对三维场景与其二维投影作简洁的描述,数据量相对较小,能降低系统管理虚拟场景复杂度,但由于几何图形是连续、理想的,因此它不能用于最终显示。像素图形可对最终的显示内容作精确的描述,并且,只有像素图形才能最终用于显示,但像素图形的数据量相对庞大,因此一般仅在图形系统作透视投影、形成二维几何图形后,才对其实施像素化,从而避免庞大的处理量。 3.简述几何图形流水线中的必要步骤。

计算机图形学

《计算机图形学》思考练习题 第一章计算机图形学概论 1.比较计算机图形学与图象处理技术相同点和不同点。 计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。 图像处理技术研究如何对连续图像取样、量化以产生数字图像,如何对数字图像做各种变换以方便处理,如何滤去图像中的无用噪声,如何压缩图像数据以便存储和传输,图像边缘提取,特征增强和提取。 2.列举三个计算机图形的应用实例。 勘探、绘制地形地貌,系统模拟,虚拟现实。辅助教学设计。 3.简述计算机图形学发展动向。 造型技术—真实图形生成技术—人机交互技术—基于网络的图形技术 第二章计算机图形系统概述 1.叙述计算机图形系统的基本功能。 输入、输出、计算、存储、对话 他的基本功能是帮助人们设计、分析、采集、存贮图形、视频甚至音乐等信息。 2.输入设备可有哪几种逻辑功能?请举出各自对应的物理设备。 .定位(locator): 指定一个坐标点。对应的物理设备有鼠标器、键盘、数字化仪、触摸屏等。.笔划(stroke): 指示一个坐标点系列, 如指定一条曲线的控制点等。主要物理设备有数字化仪。.送值(valuator): 输入一个数值。最常用的物理设备是键盘的数字键。 .字符串(string):输入一个字符串。键盘字母键 .拾取(pick):各种定位设备 .选择(choise): 鼠标器,数字化仪,键盘功能键等 3.画出图形软件的层次结构及主要组成。 ------------------------------------ | 应用程序| | ---------------------------- | | 图形支撑软件| | | ------------------- | | | 高级语言| | | | ------------ | | | | 操作系统| ------------------------------------ 主要部分:图形核心系统GKS 计算机图形元文件CGM 计算机图形设备接口CGI 程序员层次结构图形系统PHIGS 4.颜色查找表的概念及实现原理。 颜色查找表是一维线性表,其每一项的内容对应一种颜色,它的长度由帧缓存单元的位数决定。实现原理:把颜色码放在一个独立的表中,帧缓存存放的是颜色表中各项的索引值,这样在帧缓存单元的位数不增加的情况下,具有了大范围挑选颜色的能力。 5.光栅扫描显示器结构与工作原理。

计算机图形学-作业答案-几何变换

几何变换:作业共10题,每题10分,总分100分 1. 有如下使用矩阵表示的三维几何变换: ???? ????????????????-=??????????z y x z y x 100001010''' 辅助说明(不计成绩): 1)3*3矩阵的3个列向量与3个行向量分别形成两个基向量集,即两个坐标系,这里分别称为列坐标系与行坐标系。 2)在矩阵中,列坐标系中各基向量(矩阵的3个列向量)的坐标是在假定行坐标系为单位正交坐标系(基向量的模为1,且基向量两两正交)前提下,由行坐标系测量的坐标;相似地,行坐标系中各基向量(矩阵的3个行向量)的坐标是在假定列坐标系为单位正交坐标系的前提下,由列坐标系测量的坐标。 3)对于此题给出的矩阵,假定行坐标系单位正交,则测量出的列坐标系也单位正交;反之,假定列坐标系单位正交,则测量出的行坐标系也单位正交;此矩阵描述的是两个单位正交坐标系间的坐标系变换,矩阵是一个单位正交阵(旋转矩阵)。 (1) 试解释其中的一种运算:???? ? ?????+??????????-+???? ? ?????=???? ? ?????100001010'''z y x z y x ; 答: 1)使用考察向量在列坐标系下测量的坐标作为系数(线性组合中的各个系数x 、 y 、z 用于调节各列基向量的模,实质上这些系数是坐标变换前,考察向量在列 坐标系下测量的坐标,否则这样的线性组合运算无意义),对矩阵中列坐标系的3个基向量实施线性组合,重新组合为考察向量后(这里理解为向量不变,坐标系、坐标变化),其坐标变换为行坐标系下测量的坐标; 2)此运算的含义是已知考察向量的列坐标系坐标,以坐标和基向量(矩阵中的列)为基础,使用线性组合得到考察向量;(简言之,由坐标计算得到向量) 3)由于3个基向量的坐标为行坐标系下的坐标,则组合后的组合向量坐标亦为行坐标系下的坐标,由此,考察向量的坐标从列坐标系坐标变换到行坐标系坐

计算机图形学(简单多边形裁剪算法)

简单多边形裁剪算法 摘要:多边形裁剪算法与线性裁剪算法具有更广泛的实用意义,因此它是目前 裁剪研究的主要课题。本文主要介绍了一种基于多边形顶点遍历的简单多边形裁剪算法,它有效降低了任意多边形裁剪复杂度。通过记录交点及其前驱、后继信息,生成结果多边形,该算法简化了交点的数据结构,节省了存储空间,降低了算法的时间复杂度,具有简单、易于编程实现、运行效率高的特点。 关键词:多边形裁剪;交点;前驱;后继;矢量数组 一、技术主题的基本原理 简单多边形裁剪算法综合考虑现有多边形裁剪算法的优缺点,它是一种基于多边形顶点遍历来实现简单多边形裁剪工作的。其主要的原理是遍历多边形并把多边形分解为边界的线段逐段进行裁剪,输出结果多边形。 二、发展研究现状 近年来,随着遥感绘图、CAD辅助设计、图象识别处理技术的发展,图形裁剪算法从最初在二维平面上线和图形的裁剪扩展到三维空间里体和场的裁剪,国内外相继提出不少行之有效的算法,但越来越复杂的图形和计算也对算法的速度和适用性提出了越来越高的要求。因此,不断简化算法的实现过程,完善细节处理,满足大量任意多边形的裁剪也就成了当今算法研究的焦点之一。 以往多边形裁剪算法不是要求剪裁多边形是矩形,就是必须判断多边形顶点的顺时针和逆时针性,即存在不实用或者是增加了多边形裁剪算法的难度。为了解决现在的问题,我们研究现在的新多边形算法,其中,裁剪多边形和被裁剪多边形都可以是一般多边形,且不需要规定多边形输入方向。它采用矢量数组结构,只需遍历剪裁多边形和被裁剪多边形顶点即完成多边形的裁剪,具有算法简单、运行效率高的特点。 三、新算法设计 1、算法的思想 本算法是为了尽量降低任意多边形裁剪算法复杂度而提出的,其主要思想是采用矢量数组结构来遍历裁剪多边形和被裁多边形顶点,记录裁剪多边形和被裁减多边形交点及其前驱、后继信息,并通过记录相邻交点的线段,然后通过射线法选择满足条件的线段,之后进行线段连接,输出对应的裁剪结果。算法数据结构简单,即没有用常用的数据结构,如线性链表结构、双向链表结构和树形结构,这样就节省了存储空间,增加算法的效率。 2、主要数据结构 多边形裁剪算法的核心是数据结构,它决定了算法的复杂度和计算效率。兼顾数据结构简单和节省存储空间的目的,简单多边形裁剪算法是基于矢量数组vector的数据结构进行裁剪的,多边形矢量数组的每个元素表示多边形顶点,且按顶点输入的顺序存储。裁剪多边形和被裁剪多边以下我们分别用S和C表示,

计算机图形学作业答案

一、选择题 1.第一个图形软件标准是___B_____; A. OpenGL B. GKS C. DirectX D. PHIG 2.CRT显示器需要不断刷新的原因是__D___________; A.电子束强度不够 B. 显示的图像在不断变化 C. 荧光物质的亮度不够 D. 荧光物质的亮度会逐渐衰减 3.如果用一个单位立方体来表示RGB颜色空间,那么坐标(1,0,1)表示的颜色是______C____色; A.青 B.黄 C.品红 D.洋红 4.位面数为16,分辨率为1024*1024的光栅扫描图形显示器,帧缓存容量为_______C____; A.512KB B. 1MB C. 2MB D 3MB 5.下列关于光栅扫描显示器的性能指标的说法,错误的是___B______; 1) 分辨率越高,相邻像素点之间的距离越小,显示的字符或图像就越清晰 2) 刷新频率越高,图像闪烁和抖动的就越厉害 3) 点距越小,显示出来的图像越细腻,其成本越高 4) 行频是指电子枪每秒在屏幕上扫描过的行数,行频越大越好,至少要达到50KHz 5) 亮度等级范围的提升可以使图像看上去更加柔和自然 6) 显示速度指显示字符、图形,特别是动态图像的速度,与显示图形的复杂程度有关A.1),3),6) B.2),4),6) C.3),4),5) D.1),2),5) 6.中点算法生成圆,第i个点的坐标位置为(xi,yi),当决策变量di>0时,第i+1个点的坐标位置和决策变量分别为_____B________; A.(xi+1,yi+1)=(xi+1,yi),di+1=di+2(xi-yi)+5; B.(xi+1,yi+1)=(xi+1,yi-1),di+1=di+2(xi-yi)+5; C.(xi+1,yi+1)=(xi+1,yi),di+1=di+2xi+3; D.(xi+1,yi+1)=(xi+1,yi-1),di+1=di+2xi+3; 7. 下列对于ET表的描述,正确的是____C_________; 1) ET表是根据AET表生成的; 2) 在做奇异点处理时,当该边最大y值对应的顶点为局部极值点时,边记录的第一项:ymax=ymax-1; 3) ET表的第二项为某边的最小的y对应的x值; 4) ET表对水平边不需要进行登记; A.1),2) B. 2),4) C.3),4) D. 1),3) 8. 能比较容易地找到通过一个点或和一个圆相切的直线的位置的交互技术是____C______; A.约束技术 B. 网格技术 C. 橡皮筋技术 D. 操作柄技术 9. 在____C___模式下,输入过程和应用程序并发运作。所有输入数据都被存放在一个队列中; A.请求 B. 样本 C. 事件 D. 混合 10. 使用Bresenham直线生成算法画一条直线:起点和终点分别为A(15,12)和B(30,18),则起点的下一个点的坐标(x,y)和误差p分别为____B____; A. (x,y) = (16,13),p = 9 B. (x,y) = (16,12),p = 9 A. (x,y) = (16,13),p = -21 D. (x,y) = (16,12),p = -21 11. 如果用一个单位立方体来表示RGB颜色空间,那么坐标(1,1,0)表示的颜色是_______B___色;

计算机图形学裁剪算法

一、实验目标 1.了解Cohen-SutherLand线段裁剪算法、Liang-Barsky线段裁剪算法、SutherLand-Hodgeman多边形裁剪算法的基本思想; 2.掌握Cohen-SutherLand线段裁剪算法、Liang-Barsky线段裁剪算法、SutherLand-Hodgeman多边形裁剪算法的算法实现; 二、实验内容 本次实验主要是实现Cohen-SutherLand线段裁剪算法、Liang-Barsky线段裁剪算法、SutherLand-Hodgeman多边形裁剪算法。 Cohen-sutherland线段裁剪算法思想: 该算法也称为编码算法,首先对线段的两个端点按所在的区域进行分区编码,根据编码可以迅速地判明全部在窗口内的线段和全部在某边界外侧的线段。只有不属于这两种情况的线段,才需要求出线段与窗口边界的交点,求出交点后,舍去窗外部分。 对剩余部分,把它作为新的线段看待,又从头开始考虑。两遍循环之后,就能确定该线段是部分截留下来,还是全部舍弃。 Cohen-sutherland线段裁剪算法步骤: 1、分区编码 延长裁剪边框将二维平面分成九个区域,每个区域各用一个四位二进制代码标识。各区代码值如图中所示。 四位二进制代码的编码规则是: (1)第一位置1:区域在左边界外侧

(2)第二位置1:区域在右边界外侧 (3)第三位置1:区域在下边界外侧 (4)第四位置1:区域在上边界外侧 裁剪窗口内(包括边界上)的区域,四位二进制代码均为0。 设线段的两个端点为P1(x1,y1)和P2(x2,y2),根据上述规则,可以求出P1和P2所在区域的分区代码C1和C2。 2、判别 根据C1和C2的具体值,可以有三种情况: (1)C1=C2=0,表明两端点全在窗口内,因而整个线段也在窗内,应予保留。 (2)C1&C2≠0(两端点代码按位作逻辑乘不为0),即C1和C2至少有某一位同时为1,表明两端点必定处于某一边界的同一外侧,因而整个线段全在窗外,应予舍弃。 (3)不属于上面两种情况,均需要求交点。 3、求交点 假设算法按照:左、右、下、上边界的顺序进行求交处理,对每一个边界求完交点,并相关处理后,算法转向第2步,重新判断,如果需要接着进入下一边界的处理。 为了规范算法,令线段的端点P 1为外端点,如果不是这样,就需要P 1 和P 2 交换端点。 当条件(C1&0001≠0)成立时,表示端点P1位于窗口左边界外侧,按照求交公式,进行对左边界的求交运算。 依次类推,对位于右、下、上边界外侧的判别,应将条件式中的0001分别改为0010、0100、1000即可。 求出交点P后,用P1=P来舍去线段的窗外部分,并对P1重新编码得到C1,接下来算法转回第2步继续对其它边界进行判别。 Liang-Barsky线段裁剪算法思想: 我们知道,一条两端点为P1(x1,y1)、P2(x2,y2)的线段可以用参数方程形式表示: x= x1+ u·(x2-x1)= x1+ u·Δx y= y1+ u·(y2-y1)= y1+ u·Δy0≤u≤1式中,Δx=x2-x1,Δy=y2-y1,参数u在0~1之间取值,P(x,y)代表了该线段上的一个点,其值由参数u确定,由公式可知,当u=0时,该点为P1(x1,y1),当u=1时,该点为P2(x2,y2)。如果点P(x,y)位于由坐标(xw min,

计算机图形学作业-Model-答案

计算机图形学作业 II 一、判断题 1.插值得到的函数严格经过所给定的数据点;逼近是在某种意义上的最佳近似;( √ ) 2.一次Bezier 曲线其实就是连接起点到终点的折线段。 ( √ ) 3. NURBS 曲线方法不能够提供标准二次曲线和自由曲线的统一数学表达。 ( ? ) 4. 凡满足C1连续的曲线同时满足G1连续条件,反之则不成立; ( √ ) 5.Bezier 曲线具有对称性质。 ( ? ) 二、填空题 1. 三维物体的的布尔运算包括 交 、 并 和 差 。 2. 多边形的边通常用它的边环表来表示,外环的方向是由外轮廓顶点按逆时针 方向组成、内环是内轮廓顶点按顺时针方向组成。 3. 由5个控制顶点Pi(i=0,1,…4)所决定的3次B 样条曲线,由?2?段3次B 样条曲线段光滑连接而成。 4. )10)((,≤≤t t B n i 是n 次Bernstein 基函数,则=∑=n i n i t B 0,)(??1??。 5. 几何建模技术中描述的物体信息一般包括_拓扑信息_和_几何信息_。 三、问答题 1.图象处理、模式识别、计算机图形学是图形信息的计算机处理有关的三大分之学科。简述它们的不同点? 图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的过程,主要以提高图像的视感质量、提取图像中所包含的某些特征和特殊信息、图像数据的变换以及编码压缩以提高图像的存储和传输为目的;模式识别是图像处理的一个部分,指的是提取特征或信息的过程;计算机图形学是使用计算机建立、存贮、处理某个对象的模型的过程。总的来说,计算机图形学是图像处理的逆过程。 2.三维形体常用的表示方法是什么?简述几何信息和拓扑信息的含义。 三维形体常用的表示方法有:线框模型表示、表面模型表示、实体模型表示。 几何信息:反映图形中的点、线、面、体等几何要素的信息称为几何信息。 拓扑信息:反映图形中的点、线、面、体等的连接顺序,层次关系的信息 3.三次参数样条曲线和n 次Bezier 曲线的特点分别是什么? 三次参数样条曲线是分段多项式,在每段内部是任意阶连续,在节点处具有2阶参数连续性;而n 次Bezier 曲线是多项式,是任意阶连续。 4.若一条B 样条曲线的诸控制点都位于一直线上,则该曲线一定是直线。这种说法正确吗?给出理由。 正确,因为B 样条曲线具有凸包性,使其具有的直线再生性限定了若其控制点都位于一直线上,则该曲线一定是直线。 5.若将二次参数曲线{Q(t)=[1,0]+[-2,0]t+[1,1]t 2,t ∈[0,1]}转换成Bezier 曲线形式,则该Bezier

相关文档
最新文档