计算机图形学作业二

计算机图形学作业二
计算机图形学作业二

程序设计如下

一.实验要求

试设计一个室内三维环境,并利用OPEN GL展示它的三维效果。要求:

(1)包含基本的实体元素:球,多面体,椎体,柱体,曲面等;

(2)有全局光照和纹理功能

(3)程序具有交互功能

二.程序设计代码

#include

#include

#include "glew.h"

#include "glut.h"

#include

#pragma comment (lib, "glew32.lib")

#define checkImageWidth 64

#define checkImageHeight 64

static GLubyte

checkImage[checkImageHeight][checkImageWidth][4]; static GLuint texName;

static GLfloat xrot=0;

static GLfloat yrot=0;

//函数功能:设计地面图案

void makeCheckImage(void)

{

int i, j, c;

for (i = 0; i < checkImageHeight; i++) { for (j = 0; j < checkImageWidth; j++) {

c = ((((i&0x16)==0)^((j&0x16))==0))*255;

checkImage[i][j][0] = (GLubyte) c;

checkImage[i][j][1] = (GLubyte) c;

checkImage[i][j][2] = (GLubyte) c;

checkImage[i][j][3] = (GLubyte) 255;

}

}

}

//函数功能:初始化模块

void SetupRC(void)

{

glEnable(GL_LIGHTING); //启用灯源

glEnable(GL_LIGHT0); //启用0号灯

glShadeModel(GL_SMOOTH); //设置光滑着色模式

glEnable(GL_DEPTH_TEST); //启用深度测试

glEnable(GL_NORMALIZE); //启用法向量

glClearColor(1.0f, 1.0f, 1.0f, 0.0f); //为色彩缓冲区指定用于清除的值

//设置表面材料的属性

GLfloat mat_ambient[] = {0.6f,0.6f,0.6f,1.0f};

GLfloat mat_diffuse[] = {0.5f,0.5f,0.5f,1.0f};

GLfloat mat_specular[] = {1.0f,1.0f,1.0f,1.0f,};

GLfloat mat_shininess[] = {40.0f};

glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);

//指定环境泛光的强度

glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);

//漫反射的强度

glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);

//镜面反射的强度

glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);

//镜面反射光的会聚强度

//纹理

makeCheckImage();//绘制地面纹理图案

glPixelStorei(GL_UNPACK_ALIGNMENT, 1); //控制像素存储模式

glGenTextures(1, &texName); //用来生成纹理的数量为1

glBindTexture(GL_TEXTURE_2D, texName); //绑定纹理

//纹理滤波,图象从纹理图象空间映射到帧缓冲图象空间

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,

GL_REPEAT);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T,

GL_REPEAT);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, checkImageWidth,

checkImageHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, checkImage);

}

//函数功能:绘制墙壁

void DrawWall(void)

{

glPushMatrix(); //矩阵堆栈压入

glTranslated(1.2, 0.01, 1.2); //将变换矩阵与当前矩阵相乘,使原点移动到(参数值坐标)

glScaled(2.4, 0.02, 2.4); //将比例矩阵与当前矩阵

相乘,将当前图形沿x,y,z轴分别放大为原来的(参数值)倍glutSolidCube(1.0); //size=1.0的实心立方体

glPopMatrix(); //矩阵堆栈弹出

}

//函数功能:绘制立方柱体

void DrawPillar(void)

{

glPushMatrix();

glTranslated(0, 0.15, 0);

glScaled(0.02, 0.3, 0.02);

glutSolidCube(1.0);

glPopMatrix();

}

//函数功能:绘制桌子

void DrawTable(void)

{

glPushMatrix();

glTranslated(0.05, 0.3, 0.05);

glScaled(0.6, 0.02, 0.6);

glutSolidCube(1.0); //绘制桌面

glPopMatrix();

glPushMatrix();

glTranslated(0.275, 0, 0.275);

DrawPillar(); //绘制桌腿

glTranslated(0, 0, -0.45);

DrawPillar(); //绘制桌腿

glTranslated(-0.45, 0, 0.45);

DrawPillar(); //绘制桌腿

glTranslated(0, 0, -0.45);

DrawPillar(); //绘制桌腿

glPopMatrix();

}

//函数功能:绘图

void RenderScene(void)

{

GLfloat light_position[]={2.0f, 6.0f, 3.0f, 0.0f};

glLightfv(GL_LIGHT0,GL_POSITION,light_position); //指定0号光源的位置

glMatrixMode(GL_PROJECTION); //对投影矩阵应用随后的矩阵操作

glLoadIdentity();//将当前的用户坐标系的原点移到了屏幕中心

GLfloat h = 1.0;//窗口的一半高度

glOrtho(-h*64/48.0, h*64/48.0, -h, h, 0.1, 100.0); //将当前的可视空间设置为正投影空间:左,右,下,上,近,远。

glMatrixMode(GL_MODELVIEW); //对模型视景矩阵堆栈应用随后的矩阵操作

glLoadIdentity();

gluLookAt(2, 1.6, 2, 0, 0.2, 0, 0, 1, 0);//设置观察坐标系

//开始绘制

glRotatef(xrot, 1.0f, 0.0f, 0.0f)//旋转轴经过原点,方向为(1,0,0),旋转角度为xrot,方向满足右手定则

glRotatef(yrot, 0.0f, 1.0f, 0.0f);//旋转轴经过原点,方向为(0,1,0),旋转角度为yrot

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glPushMatrix();

glRotated(90.0, 0.0, 0.0, 1.0);

DrawWall(); //绘制一面墙壁

glPopMatrix();

glPushMatrix();

glRotated(-90.0, 1.0, 0.0, 0.0);

DrawWall(); //绘制另一面墙壁

glPopMatrix();

glPushMatrix();

glTranslated(0.4, 0, 0.4);

DrawTable(); //绘制桌子

glPopMatrix();

glPushMatrix();

glTranslated(0.2, 0.1, 0.85);

glScaled(0.8, 0.8, 1.0);

glutSolidCube(0.2); //绘制箱子

glPopMatrix();

glPushMatrix();

glTranslated(0.6, 0.38, 0.6);

glRotated(-100, 0, 1, 0);

glutSolidTeapot(0.1); //绘制茶壶

glPopMatrix();

glPushMatrix();

glTranslated(0.3, 0.33, 0.5);

glRotated(180, 0, 180, 180);

glutSolidTorus(0.02f, 0.05, 25, 50);//绘制手镯glPopMatrix();

glPushMatrix();

glTranslated(0.45, 0.42, 0.3); glutSolidSphere(0.1, 15, 50); //绘制球体glPopMatrix();

glPushMatrix();

glTranslated(1.0, 0.35, 0.3);

glScaled(0.03, 0.7, 0.03);

glutSolidCube(1.0); //绘制灯柱

glPopMatrix();

glPushMatrix();

glTranslated(1.0, 0.7, 0.3);

glRotated(190, 180, 200, 270);

glutSolidCone(0.15, 0.25f, 30, 25); //绘制圆锥型灯罩glPopMatrix();

//绘制纹理

glEnable(GL_TEXTURE_2D); //开启纹理

glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,

GL_DECAL);//映射方式

glBegin(GL_QUADS);//绘制地面

//绘制四边形并给出当前顶点所对应的纹理坐标

glTexCoord2f(0.0, 0.0); glVertex3f(0.0, 0.0, 0.0);

glTexCoord2f(0.0, 1.0); glVertex3f(0.0, 0.0, 2.4);

glTexCoord2f(1.0, 1.0); glVertex3f(2.4, 0.0, 2.4);

glTexCoord2f(1.0, 0.0); glVertex3f(2.4, 0.0, 0.0);

glEnd();

glDisable(GL_TEXTURE_2D); //关闭纹理

glFlush(); //绘图结果显示到屏幕上}

//函数功能:处理按键交互信息

void SpecialKeys(int key, int x, int y)

{

switch (key) {

case GLUT_KEY_UP: //上键

xrot += 1.0;

break;

case GLUT_KEY_DOWN: //下键

xrot -= 1.0;

break;

case GLUT_KEY_LEFT: //左键

yrot += 1.0;

break;

case GLUT_KEY_RIGHT: //右键

yrot -= 1.0;

break;

default:

break;

}

glutPostRedisplay(); //标记当前窗口需要重新绘制glFlush(); //绘图结果显示到屏幕上

}

//函数功能:改变窗口大小

void ChangeSize(int w, int h)

{

GLfloat lightPos[] = {-50.f, 50.0f, 100.0f, 1.0f};

GLfloat nRange = 1.9f;

if (h == 0)

h = 1;

glViewport(0, 0, w, h); //重新设置屏幕上的窗口大小

glMatrixMode(GL_PROJECTION);//后继操作都在投影变换范围内

glLoadIdentity(); //设置当前矩阵为单位矩阵

//正交投影

if (w <= h)

glOrtho (-nRange, nRange, -nRange*h/w, nRange*h/w, -nRange, nRange);

else

glOrtho (-nRange*w/h, nRange*w/h, -nRange, nRange,

-nRange, nRange);

glMatrixMode(GL_MODELVIEW); //选择模型观察矩阵glLoadIdentity(); //设置当前矩阵为单位

矩阵

glLightfv(GL_LIGHT0, GL_POSITION, lightPos);//重新定义光源

}

void main ()

{

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB |

GLUT_DEPTH); //双缓存

glutInitWindowSize(600, 400); //窗口大小

glutInitWindowPosition(300, 100); //窗口位置glutCreateWindow("xdy room"); //创建窗口,名为xdy room

SetupRC(); //自定义的初始化函数

glutDisplayFunc(RenderScene); //显示回调函数,用于绘图

glutReshapeFunc(ChangeSize); //处理改变窗口大小glutSpecialFunc(SpecialKeys); //处理按键交互信息glutMainLoop(); //让GLUT框架开始运行, 处理交互事件

计算机图形学作业

计算机图形学第一次作业 计算机X班XXX 1XXX010XXX 1.你是否想用图形学的有关知识去解决一两个实际问题?你想解决的问题是什么?考虑如何解决? 答:我希望可以解决的有设计汽车外壳和制作动画。 解决方法:(1)汽车外壳 使用3D MAX/AutoCAD软件进行设计。 (2)制作动画 利用动画制作软件(3D MAX)在计算机上制作动画 2.某彩色图形显示系统,CRT显示器的分辨率为1024×1024,它可以从2^17次方种颜色中选择出2^15次方来显示,其帧缓冲器的容量应该如何计算?查色表的长度和宽度应为多少? 解:16b==2B 因为分辨率为1024x1024 所以1024*1024*2B=2MB 3.采用Bresenham画线算法,绘出起点(1,3),终点为(9,18)的直线段。 解: void DrawBresenhamline(int x0, int y0, int x1, int y1) { int dx = x1 - x0;//x偏移量 int dy = y1 - y0;//y偏移量 int ux = dx >0 ?1:-1;//x伸展方向 int uy = dx >0 ?1:-1;//y伸展方向 int dx2 = dx <<1;//x偏移量乘2 int dy2 = dy <<1;//y偏移量乘2 if(abs(dx)>abs(dy)) {//以x为增量方向计算 int e = -dx; //e = -0.5 * 2 * dx,把e 用2 * dx* e替换 int x = x0;//起点x坐标 int y = y0;//起点y坐标 for (x = x0; x < x1;x+=ux) { printf ("%d,%d\n",x, y); e=e + dy2;//来自2*e*dx= 2*e*dx + 2dy (原来是e = e + k) if (e > 0)//e是整数且大于0时表示要取右上的点(否则是右下的点) { y += uy; e= e - dx2;//2*e*dx = 2*e*dx - 2*dx (原来是e = e -1) } } } else {//以y为增量方向计算

计算机图形学期末大作业3D建模

深圳大学实验报告 课程名称:计算图形学 实验名称:3D建模和真实感图形绘制 学院:计算机与软件学院专业:计算机科学与技术报告人:学号:2012150 班级: 1 同组人:无 指导教师:周虹 实验时间:2014年11、12月 实验报告提交时间:2014/12/28 教务处制

一.实验目的 1、使用OpenGL创建和动画你自己设计的角色。 2、熟悉3D层次建模和转换。 二.实验步骤 1、打开VC6.0打开工作空间modeler.dsw, 可以看到工程的所有工程都包含进来了。找到sample.cpp并打开。 2、找到sample.cpp中的draw函数,在这个函数中绘制图形。首先,在一对glPushMatrix()和glPopMatrix()之间用glTranslated函数确定绘制图形坐标系的原点(以下图形的绘制均用到这对函数,后面不再赘述)。然后用三角形绘制平行四边形的地板,用

setDiffuseColor函数设定不同的颜色参数。 主要代码如下: 2、为模型绘制背景,即三角旋转阶梯。同样的,用三角形绘制,使得整个画面看起来像舞台般宽敞华丽。

截断): 拼接柱子,并且颜色设置成黄白相间,使气氛柔和淡雅。

4、柱子一般都有柱台的。此处用长方体作为柱台,大气得体。颜色选择淡蓝色,正好跟柱子的颜色相辉映。 主要代码如下:

5、俗话说好事成双。在同一个层次中,我再绘制了同样的柱子和柱台,使画面呈现对称美。 6、柱子是空心的,得给它加个“盖子”。为了统一柱子的结构,此处依然用三角形拼接柱子的尖顶,尖顶作为柱子的下一个层次。如图:

《计算机图形学》 试卷A及参考答案

()4.EGA/VGA为增强图形显示效果的一种图形处理软件的名称。 ()5.对山、水等不规则对象进行造型时,大多采用过程式模拟方法。 ()6.实体的边界由平面多边形或空间曲面片组成。 ()7.平面多面体表面的平面多边形的边最多属于两个多边形,即它的表面具有二维流形的性质。 ()8.观察空间位于前后裁剪面之间的部分称为裁剪空间或视见体。 ()9.找出并消除物体中的不可见部分,称为消隐。 ()10.使用齐次坐标可以将n维空间的一个点向量唯一的映射到n+1维空间中。 三、填空题(将正确答案填入横线上,每空2分,共20分) 1.直线的属性包括线型、和颜色。 2.颜色通常用红、绿和蓝三原色的含量来表示。对于不具有彩色功能的显示系统,颜色显示为。 3.平面图形在内存中有两种表示方法,即和矢量表示法。 4.将三维物体变为二维图形的变换称为,其有两种基本方式:平行投影、。 5.边界点组成的集合称为集合的。 6.对于一个占据有限空间的正则(点)集,如果其表面是,则该正则集为一个实体有效物体。 7.通过实体的边界来表示一个实体的方法称为。 8.表面由平面多边形构成的空间三维体称为。 9.标量:一个标量表示。 四、简答题(每小题5分,共20分) 1.什么是图像的分辨率?

2.局部光照模型和全局光照模型的不同之处是什么? 3.实体采用八叉树表示法有哪些缺点? 4.消隐算法有哪些类型,它们各有什么特点?

五、计算题(每小题11分,共22分) 1.写出直线方程b mx y +=''对应的xy 坐标方程,假设''y x 坐标系是由xy 坐标系旋转90°得到。 2.写出从),(111y x P 到),(222y x P 的段与(a )垂直线x =a , (b )水平线y =b 的交点。

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

名词解释 将图形描述转换成用像素矩阵表示的过程称为扫描转换。 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 =

《数字图像处理》复习大作业及答案

2014年上学期《数字图像处理》复习大作业及参考答案 ===================================================== 一、选择题(共20题) 1、采用幂次变换进行灰度变换时,当幂次取大于1时,该变换是针对如下哪一类图像进行增 强。(B) A 图像整体偏暗 B 图像整体偏亮 C图像细节淹没在暗背景中D图像同时存在过亮和过暗背景 2、图像灰度方差说明了图像哪一个属性。(B ) A 平均灰度 B 图像对比度 C 图像整体亮度D图像细节 3、计算机显示器主要采用哪一种彩色模型( A ) A、RGB B、CMY或CMYK C、HSI D、HSV 4、采用模板[-1 1]T主要检测( A )方向的边缘。 A.水平 B.45? C.垂直 D.135? 5、下列算法中属于图象锐化处理的是:( C ) A.低通滤波 B.加权平均法 C.高通滤波 D. 中值滤波 6、维纳滤波器通常用于( C ) A、去噪 B、减小图像动态范围 C、复原图像 D、平滑图像 7、彩色图像增强时, C 处理可以采用RGB彩色模型。 A. 直方图均衡化 B. 同态滤波 C. 加权均值滤波 D. 中值滤波 8、__B__滤波器在对图像复原过程中需要计算噪声功率谱和图像功率谱。 A. 逆滤波 B. 维纳滤波 C. 约束最小二乘滤波 D. 同态滤波 9、高通滤波后的图像通常较暗,为改善这种情况,将高通滤波器的转移函数加上一常数量以 便引入一些低频分量。这样的滤波器叫B。 A. 巴特沃斯高通滤波器 B. 高频提升滤波器 C. 高频加强滤波器 D. 理想高通滤波器 10、图象与灰度直方图间的对应关系是 B __ A.一一对应 B.多对一 C.一对多 D.都不 11、下列算法中属于图象锐化处理的是:C A.低通滤波 B.加权平均法 C.高通滤 D. 中值滤波 12、一幅256*256的图像,若灰度级数为16,则存储它所需的比特数是:( A ) A、256K B、512K C、1M C、2M 13、噪声有以下某一种特性( D ) A、只含有高频分量 B、其频率总覆盖整个频谱 C、等宽的频率间隔内有相同的能量 D、总有一定的随机性 14. 利用直方图取单阈值方法进行图像分割时:(B) a.图像中应仅有一个目标 b.图像直方图应有两个峰 c.图像中目标和背景应一样大 d. 图像中目标灰度应比背景大 15. 在单变量变换增强中,最容易让人感到图像内容发生变化的是( C )

《计算机图形学》复习试题

计算机图形学模拟试卷 计算机图形学课程试卷(卷) 注意:1、本课程为必修(表明必修或选修),学时为 51 ,学分为 3 2、本试卷共 3 页;考试时间 120 分钟;出卷时间:年 12 月 3、姓名、学号等必须写在指定地方;考试时间:年 1 月 11 日 4、本考卷适用专业年级:任课教师: (以上内容为教师填写) 专业年级班级 学号姓名 一、名词解释(15分) 1.国际标准化组织(ISO)对计算机图形学的定义

2. 象素图 3. 正投影 4. 纹理 5. 位图 二.单项选择题(1.5×10=15分) ( )1、在TC 环境下编译绘图程序进行图形初始化时,要寻找文件的格式是?______。 A ).DOC B ).CPP C ).C D ).BGI ( )2、图形系统是由四部分组成,分别为 A).应用系统结构;图形应用软件;图形支撑软件;图形设备。 B).计算机;显示器;打印机;图形应用软件。 C).计算机;图形设备;图形支撑软件;图形应用软件。 D).计算机;图形软件;图形设备;应用数据结构。 ( )3、使用下列二维图形变换矩阵: T=???? ??????111020002 将产生变换的结果为______ 。 A )图形放大2倍; B )图形放大2倍,同时沿X 、Y 坐标轴方向各移动1个绘图单位; C )沿X 坐标轴方向各移动2个绘图单位; D )上述答案都不对。 ( )4、图形显示器的工作方式为 A ).文本方式 B ).图形方式 C ).点阵方式 D ).文本与图形方式 ( )5、透视投影中主灭点最多可以有几个? A) 3 B)2 C)1 D)0 ( )6、在用射线法进行点与多边形之间的包含性检测时,下述哪一个操作不正确? A) 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数0次 B) 当射线与多边形交于某顶点时且该点的两个邻边在射线的一侧时,计数2次 C) 当射线与多边形交于某顶点时且该点的两个邻边在射线的两侧时,计数1次 D) 当射线与多边形的某边重合时,计数1次 ( )7、下列有关平面几何投影的叙述语句中,正确的论述为

计算机图形学试卷2

一、选择题(每小题2分,共20分) 1.在下列叙述语句中,正确的论述为( ) A 、一个计算机图形系统至少应具有计算、存储、输入、输出四个方面的基本功能; B 、在图形系统中,图形处理速度取决于CPU 的性能; C 、在图形系统中,存储容量指的是计算机的内存; D 、 在图形系统中,图形处理精度主要是指图形采集输入质量和显示输出质量。 2.如果一幅512×512像素的图像,每一像素用4位表示,那么存储此图像至少需要的容量为( ) A 、512K B B 、1MB C 、2MB D 、3MB 3.如果一个长方形使用右边二维图形变换矩阵:???? ??????=105050005T ,将产生变换的结果为( ) A 、图形放大5倍;同时沿X 坐标轴方向移动5个绘图单位 B 、图形放大25倍,同时沿X 坐标轴方向移动5个绘图单位; C 、图形放大5倍,同时沿Y 坐标轴方向移动5个绘图单位; D 、图形放大25倍,同时沿Y 坐标轴方向移动5个绘图单位; 4.下列有关Bezier 曲线性质的叙述语句中,错误的结论为( ) A: Bezier 曲线可用其特征多边形来定义; B: Bezier 曲线必须通过其特征多边形的各个顶点; C 、Bezier 曲线两端点处的切线方向必须与其特征多边形的相应两端线段走向一致; D 、Bezier 曲线具有凸包性。 5.下列有关二维几何变换的叙述语句中,正确的论述为( ) A 、几何变换就是把一个图形从一个位置移到别的位置; B 、几何变换后图形连线次序发生改变; C 、一个正方体经几何变换后可能会变成长方体; D 、几何变换使图形都产生了变形。 6.下列叙述正确的是( ) A 、 点是最基本的图形; B 、 Bresenham 画线法不适用于光栅图形显示器; C 、 正负法使利用平面曲线划分正负区域来直接生成圆弧的方法; D 、 数值微分法不适合画圆弧。 7.下列关于B 样条的叙述正确的是( ) A 、 B 样条曲线不具有凸包性; B 、 给定n 个型值点的三次B 样条曲线可由n-2段三次B 样条曲线段组成; C 、 B 样条曲线通过每一个给定的型值点; D 、 二次B 样条曲线的起点落在其B 特征多边形的第一条边的中点。 8.下面哪一个是Turbo c 提供的获取当前画图颜色函数( ) A 、getbkcolor(void); B 、getcolor(void); C 、getmaxcolor(void); D 、getnowcolor(void) 9.使用二维图形变换矩阵:T =???? ??????-100001010 如果图形的一个顶点坐标为A (6,8) ,则变换后的坐标A ’ 为 ( ) A 、(8,-6); B 、(-6,8); C 、(-8,6); D 、(6,-8)。 10、在透视投影中,主灭点的最多个数是( ) A 、1 B 、2 C 、3 D 、4 二、判断题(请给正确的达上“√”,错误的打上“×”,每小题2分,共20分) 1、所有图形都可以看成是由直线段组成的。( ) 2、图形变换有两种形式:坐标模式变换和图形模式变换。( ) 3、自由曲线可以用一条标准代数方程来描述。( ) 4、B 曲线具有对称性质。( ) 5、齐次坐标可表示图形中无穷远点。 ( ) 6、组合变换就是由若干个基本的几何变换组合而成( ) 7、四向种子填充算法可以用于填充八连通区域。 ( ) 8、多边形裁剪实际就是直线段裁剪的简单组合。 ( ) 9、三维图形的投影变换分为正平行投影和斜平行投影。( ) 10、三视图指的是主视图、仰视图、俯视图。( ) 三、简答题(每小题6分,共30分) 1、简述图像处理、模式识别与计算机图形学的关系。 2、简述直线段生成的数值微分算法基本思想。 3、写出二维几何变换的变换矩阵,各功能子矩阵及作用是什么? 4、简述直线段的编码裁剪方法。 5、什么是三维投影变换 四、计算、分析题(共30分) 1、证明两个二维比例变换T(sx1,sy1),T(sx2,sy2)具有下式: T(sx1,sy1) T(sx2,sy2)=T(sx1 * sx2,sy1 * sy2 ) (本题10分) 2、已知三角形各顶点坐标为(10,10),(10,30)和(30,20),作下列变换,写出变换的矩阵,画出变换后的图形。先绕原点逆时针旋转90度,再沿X 正向平移10,沿Y 负向平移20。(本题10分) 3、已知P0[0,0],P1[1,1],P2[2,1],P3[4,4]是一个三次bezier 曲线特征多边形顶点,求出此bezier 曲线的参数方

计算机图形学作业-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)直线的端点、圆的圆心、半径由用户实时输入;(3)用所实现的直线、圆的生成程序实现一个任意图形的绘制。 二、实现区域填充(多边形区域)或影线填充 要求:(1)区域自行指定,至少应有一个内环(2)算法:计算机相关专业的要求实现图案填充,机械相关专业的要求实现影线填充。 三、直线段裁剪算法的实现 要求:完成对一个指定图形(见图)的裁剪,先在图形 区显示原始图形及窗口位置,然后将裁剪后图形的显示在图 形区的另一侧。 四、凸多面体消隐的实现(外法线法) 要求:立体数据自定。 五、样条曲线的实现 要求:实现B样条曲线,并能通过交互输入点的形式完成曲 线绘制。 注意:要反求控制点 六、平时成绩(30分) 要求: 1、语言不限,可以是所熟悉的如何一种语言。 2、须提交的内容包括:源程序(电子版)、可执行程序,设计说明书(电子版及打印版)。 3、程序须经教师运行测试通过。 4、设计说明书B5页面打印,内容包括:算法与数据结构,程序流程说明及变量,程序运行情况分析及结果截图,程序使用说明。

题目一:实现直线、圆的生成 要求:(1)算法不限;(2)直线的端点、圆的圆心、半径由用户实时输入;(3)用所实现的直线、圆的生成程序实现一个任意图形的绘制。 1.程序使用说明. 1)概述 该程序以Visual C++6.0作为编程开发工具,利用其中的MFC(Microsoft Foundation Classes)库作为应用程序的框架,进行图形的编程绘制,有良好的用户操作界面和简洁的操作方法。 执行该程序,界面如下图。 图1-1 程序运行界面 图形绘制功能的实现,主要是通过点选菜单栏中的对应菜单项来实现。主要功能有:图形颜色的选择、绘制直线、绘制圆。 2)具体操作说明: a.颜色的选择. 鼠标左键单击菜单项,便会弹出颜色编辑对话框,如图2。

计算机图形学5套模拟题

组卷规则:每套模拟题5个问答或者计算或者证明题,每题20分。 《计算机图形学基础》模拟试题(1) 1、简述Cohen-Sutherland 裁剪方法的思想,并指出与之相比,中点裁剪方法的改进之处,及这种改进的理由。 答:Cohen-Sutherland 裁剪算法的思想是:对于每条线段分为三种情况处理。(1)若完全在窗口内,则显示该线段简称“取”之。(2)若明显在窗口外,则丢弃该 线段,简称“弃”之。(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则求线段与窗口交点,在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。中点分割算法的大意是,与Cohen-Sutherland 算法一样首先对线段端点进行编码,并把线段与窗口的关系分为三种情况: 全在、完全不在和线段和窗口有交。对前两种情况, 进行同样的处理。对于第三种情况,用中点分割的方法求出线段与窗口的交点。即从点出发找出距最近的可见点A和从点出发找出距最近的可见点B,两个可见点之间的连线即为线段的可见部分。从出发找最近可见点采用中点分割方法:先求出的中点,若不是显然不可见的,并且在窗口中有可见部分,则距最近的可见点一定落在上,所以用代替;否则取代替。再对新的求中点。重复上述过程,直到长度小于给定的控制常数为止,此时收敛于交点。 改进之处在于,对第三种情况,不直接解方程组求交,而是采用二分法收搜索交点。这种改进的理由是:计算机屏幕的象素通常为1024×1024,最多十次二分搜索即可倒象素级,必然找到交点。而且中点法的主要计算过程只用到加法和除2运算,效率高,也适合硬件实现。 2、在Phong 模型 中,三项分别表示何含义?公式中的各个符号的含义指什么? 答:三项分别代表环境光、漫反射光和镜面反射光。为环境光的反射光强,为理想漫反射光强,为物体对环境光的反射系数,为漫反射系数,为镜面反射系数,为高光指数,L 为光线方向,N 为法线方向,V 为视线方向,R 为光线的反射方向。

计算机图形学作业题

计算机图形学作业题 1. 计算机中由图形的形状参数(方程或分析表达式的系数,线段的端点坐标等)加属性参数(颜色、线型等)来表示图形称图形的参数表示;枚举出图形中所有的点称图形的点阵表示,简称为图像(数字图像) 2. 什么是计算机图形学?计算机图形学有哪些研究内容? 3. 计算机图形学有哪些应用领域? 4. 计算机图形学有哪些相关学科分支?它们的相互关系是怎样的? 5. 图形系统的软件系统由哪些软件组成?举例说明。 6. 了解计算机图形系统的硬件。 7. 什么是显示器的分辨率、纵横比、刷新率? 8. 什么是像素、分辨率、颜色数?分辨率、颜色数与显存的关系? 分辨率M ?N 、颜色个数K 与显存大小V 的关系: 例:分辨率为1024像素/行?768行/ 帧,每像素24位(bit )颜色(224种颜色)的显示器,所需的显存为:1024?768?24位(bit )=1024?768?24/8=2359296字节(byte )。或:每像素16777216种颜色(24位真彩色),1024?768的分辨率,所需显存为:1024?768?log 216777216位显存=2359296字节显存。 9. 什么是图元的生成?分别列举两种直线和圆扫描转换算法。 10. OpenGL 由核心库GL(Graphics Library)和实用函数库GLU(Graphics Library Utilities)两个库组成。 11. 区域填充算法要求区域是连通的,因为只有在连通区域中,才可能将种子点的颜色扩展到区域内的其它点。 区域可分为 向连通区域和 向连通区域。区域填充算法有 填充算法和 填充算法。 12. 字符生成有哪两种方式? 点阵式(bitmap fonts 点阵字——raster 光栅方法):采用逐位映射的方式得到字符的点阵和编码——字模位点阵。 笔画式(outline fonts 笔画字——stroke 方法):将字符笔画分解为线段,以线段端点坐标为字符字模的编码。 13. 图形信息包含图形的 和 。 14. 什么是图形变换?图形变换只改变图形的 不改变图形的 。图形变换包括 和 ( )。 15. 熟练掌握二维图形的齐次坐标表示、平移、比例、旋转、对称变换以及复合变换的方法和原则。 16. 图形的几何变换包括 、 、 、 、 ;图形连续作一次以上的几何变换称 变换。 17. 试写出图示多边形绕点A(xo,yo)旋转的变换矩阵。要求写出求解过程及结果。 18. 试写出针对固定参考点、任意方向的比例变换矩阵。 19. 试写出对任意直线y=mx+b 的对称变换矩阵。 20. 什么是窗口?什么是视区?什么是观察变换? 21. 简述二维观察变换的流程。 22. 试述窗口到视区的变换步骤,并推出变换矩阵。 ??—(位) —K N M V 2log ??≥

东南大学自动化学院计算机图形学大作业

计算机图形学大作业 ——程序设计 用简单光照模型显示一系列小球在不同参数情况下的镜面反射效果 学号:08009223 姓名:贺国睿 专业:自动化日期:2012.5.26

1 设计目标和要求 ?用简单光照模型显示一系列小球在不同参数情况下的镜面反射效果; 2 算法原理介绍 2.1光源分析 在现实生活中的物体,要有光照存在才可以被看到。物体通过自身发光以及反射光进入人眼,物体才能在人眼中成像。如果没有任何的光,人眼将观察不到任何东西,一片漆黑。 在光照中首先是光源,要有光源才能产生光线,才有以后的一系列反射、折射、散射等效果。不同的物体的表面物理属性不同,所以相同的光线照射到不同表面属性的物体表面会产生不同的效果,发生漫反射,镜面反射的比例各不相同,有的属于半透明的物体还有折射效果。这些不同的物体表面物理属性属于材质的范畴。 除了材质以外,物体表面还有各种图案效果,这就是纹理。光线在空中穿行的时候,还会有更多复杂的效果。 在现实中,光源的类型很多,而且有的光源不能简单的用一种模型来描述,而是具有多种不同类型光源特点。几种基本的光源类型是:点光源、无穷远光源、方向光源和环境光。 点光源:光线从光源点向四面八方发散,发光的恒星(如太阳)、发光的灯泡一般使用该光源模型模拟,是最简单的光源。 无穷远光源:所有的光线都平行的从一个方向过来,当发光体(如太阳)离渲染的场景很远可以认为是无穷远时,一般使用该光源模型进行模拟。 方向光源:光线沿着一个方向在特定角度范围内逐渐发散开。现实世界中的车灯,手电筒一般使用该光源模型进行模拟。 环境光源:光线从各个地方以各个角度投射到场景中所有物体表面,找不到光源的确切位置。现实世界中不存在这样的光源,一般使用该光源模型来模拟点光源、无穷远光源、方向光源在物体表面经过许多次反射后的情况,环境光源照亮所有物体的所有面。 这四种基本的光源模型,只能近似的描述光源,不可能做到非常逼真。在现实中,一束光线照射到物体表面发生反射后,再照射到另外的物体的表面,如此循环反复这才是环境光的真正情况。这个过程是个无限次反射的过程,计算机无法处理无限的问题,所以采取了简单的近似处理。而且环境光源在反射过程中,上一次反射所带的颜色会影响下次反射所照物体的颜色,并且无限的重复。光线追踪算法是一种好得多的近似描述,但也仅仅是近似描述,只是近似效果比用环境光源模型要好。 OpenGL还提供了让物体自发光让自己可以被看见的方式。这就是物体自发光。物体自发光对于光源十分的重要,比如电灯泡可以看作是一个点光源,我们把点光源的位置设置到灯泡的中央,这样灯泡周围的物体将被照亮,但是灯泡的外表面由于相对光源来说是背面,将不能被照亮。这与实际情况不符合,灯泡照亮其它物体,而自身却不亮,所以需要通过物体自发光让灯泡的外表面也发亮。 光源的一般属性包括:镜面反射光线颜色、漫反射光颜色、环境光线颜色、光源位置。镜面反射光颜色:在物体表面将发生镜面反射的光线的颜色。漫反射光颜色:在物体表面将发生漫反射的光线的颜色。环境光线颜色:照亮所有物体所有表面的光线的颜色。光源位置就是光源在场景中所在的位置。 光线的衰减:光源发出的光线的强度会随着传播距离越来越大而变弱(无穷远光源除外)。光线强度会乘以一个衰减因子。 衰减因子=1/(K1 + K2 * d + k3 *d^2) 其中d为光源距离(无穷远光源的衰减因子为1)方向光源发出的光线会随着偏移中心方向的角度增大而减弱。

计算机图形学模拟题

计算机图形学试题B 2011/2012学年第一学期期末试题 一、选择题(每小题5分,共30分) 1. 分辨率为1024×1024的显示器各需要多少字节位平面数为24的帧缓存?( ) A)512KB B) 1MB C) 2MB D)3MB 2. 在直线的 Bresenham 算法中,若直线的斜率 |m|>1 ,且 y1

计算机图形学实验二

实验报告 课程名称:计算机图形学 实验项目:区域填充算法 实验仪器:计算机 系别:计算机学院 专业:计算机科学与技术 班级姓名:计科1602/ 学号:2016011 日期:2018-12-8 成绩: 指导教师:

一.实验目的(Objects) 1.实现多边形的扫描线填充算法。 二.实验内容 (Contents) 实现多边形的扫描线填充算法,通过鼠标,交互的画出一个多边形,然后利用种子填充算法,填充指定的区域。不能使用任何自带的填充区域函数,只能使用画点、画线函数或是直接对图像的某个像素进行赋值操作;

三.实验内容 (Your steps or codes, Results) //widget.cpp //2016CYY Cprogramming #include"widget.h" #include #include #include using namespace std; #define H 1080 #define W 1920 int click = 0; //端点数量 QPoint temp; QPoint first; int result = 1; //判断有没有结束 int sign = 1; //2为画线 int length = 5; struct edge { int ymax; float x; float dx; edge *next; }; edge edge_; QVector edges[H]; QVector points;//填充用 bool fin = false; QPoint *Queue = (QPoint *)malloc(length * sizeof(QPoint)); //存放端点的数组 Widget::Widget(QWidget *parent) : QWidget(parent) { } Widget::~Widget() { } void Widget::mouseMoveEvent(QMouseEvent *event) { setMouseTracking(true); if (click > 0 && result != 0) { startPt = temp; endPt =event->pos(); sign = 2; update(); } } void Widget::mouseReleaseEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { } else if (event->button() == Qt::RightButton) { sign = 2;

计算机图形学作业题

1、已知一直线段起点(0,0),终点(8,6),利用Bresenham算法生成此直线段,写出 生成过程中坐标点及决策变量d的变化情况,并在二维坐标系中,标出直线上各点。 2、试用中点画圆算法原理推导第一象限中y=0到x=y半径为R的圆弧段的扫描转换算法。(要求写清原理、误差函数和递推公式,并进行优化) 3、如下图所示多边形,若采用扫描线算法进行填充,试写出该多边形的ET表和当扫描线Y=3时的有效边表(AET表)。 4、试按左下右上顺序用四向算法,分析当S1为种子时,下图区域的填充过程。 5、将下图中的多边形ABCD先关于点C(3,4)整体放大2倍,再绕点D(5,3)顺时针旋转90 ,试推导其变换矩阵、计算变换后的图形各顶点的坐标,并画出变换后的图形。

6、已知三角形ABC 各顶点的坐标A(3,2)、B(5,5)、C(4,5),相对直线P 1P 2(线段的坐标分别为:P 1 (-3,-2) 、P 2 (8,3) )做对称变换后到达A ’、B ’、C ’。 试计算A ’、B ’、C ’的坐标值。(要求用齐次坐标进行变换,列出变换矩阵,列出计算式子,不要求计算结果) 7、试作出下图中三维形体ABCDE 的三视图。要求写清变换过程,并画出生成的三视图。 x 8、试采用Sutherland –Cohen 裁剪算法,叙述裁剪如下图所示的直线AB 和CD 的步骤: ① 写出端点A 、B 、C 、D 的编码; ② 写出裁剪原理和直线AB 、CD 的裁剪过程。 A B C D 9 、用梁友栋算法裁减如下图线段AB ,A 、B 点的坐标分别为(3,3)、(-2,-1) 裁剪窗口为wxl=0,wxr=2,wyb=0,wyt=2。

武汉理工大学《计算机图形学》大作业

《计算机图形学基础》大作业 课程名称计算机图形学基础开课学院计算机科学与技术学院指导教师姓名佘名高 学生姓名杨峻 学生专业班级软件工程1102 2013-2014 学年第一学期

一、命题计划 题目:C语言图形编程 (以下题目文档要求:①基本论述②算法③程序源代码④界面图) 二、内容与要求 (1)撰写内容 1.根据Bresenham直线绘制算法,实现直线的绘制。 2.用C语言编写:画y=sin(x)的图形(要求画出[-2π,2π]的图形及笛卡尔坐标)3.用C语言编写一个小圆沿着大圆运动的程序。 4.对图1中的零件图形,如何根据它所标注的尺 寸,按照适当的顺序有步聚地画出该图形。 提示:首先要分析此零件图形的几何关系,了解 构成这个图形各线段的性质,才能顺利地绘出此图形。 线段(直线或圆弧)在零件图形中分为三类,即已知线 段、中间线段和连接线段。以圆弧为例,按几何原理, 已知圆心的两个位置尺寸与半径尺寸便可画出圆。因 此图形中,已知这三个尺寸的圆弧称为已知圆弧,画 图时应该最先画出。凡已知其中二个尺寸的圆弧称为 中间圆弧。凡只已知一个尺寸(一般是圆弧半径)的圆 弧称为连接圆弧。中间圆弧和连接圆弧都缺省圆心的位置尺寸,它的几何位置是根据相切的条件来确定的。因此画圆弧的顺序为:先画已知圆弧,再画中间圆弧,最后画连接圆弧。 本零件图形是对称图形,三个小圆均匀分布在圆周中心线上,φ10,φ25,φ50和R10都是已知圆弧,R8为连接圆弧,φ50是已知圆弧的端点和R10已知圆弧的端点与连接圆弧的端点相切,从而构成整个图形。 (2)撰写要求 1.基本论述 2.算法 3.程序源代码 4.程序运行截图 5.小结

计算机图形学模拟试卷一资料

北京语言大学网络教育学院 《计算机图形学》模拟试卷一 注意: 1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。 2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。 3.本试卷满分100分,答题时间为90分钟。 4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。 一、【单项选择题】(本大题共10小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。 1、计算机图形学与计算机图像学(图像处理)的关系是( B )。 [A] 计算机图形学是基础,计算机图像学是其发展 [B] 不同的学科,研究对象和数学基础都不同,但它们之间也有可相互转换部分 [C] 同一学科在不同场合的不同称呼而已 [D] 完全不同的学科,两者毫不相干 2、多边形填充算法中,错误的描述是( D )。 [A] 扫描线算法对每个象素只访问一次,主要缺点是对各种表的维持和排序的耗费较大 [B] 边填充算法基本思想是对于每一条扫描线与多边形的交点,将其右方象素取补 [C] 边填充算法较适合于帧缓冲存储器的图形系统 [D] 边标志算法也不能解决象素被重复访问的缺点 3、在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点.哪种情况下输出的顶点是错误的?( C ) [A] S和P均在可见的一侧,则输出点P [B] S和P均在不可见的一侧,,则输出0个顶点 [C] S在可见一侧,,P在不可见一侧,则输出线段SP与裁剪线的交点和S [D] S在不可见的一侧,P在可见的一侧,则输出线段SP与裁剪线的交点和P 4、由k个控制顶点Pi(i=1,… k)所决定的n次B样条曲线,由( C )段n次B 样条曲线段光滑连接而成。 [A] k-n-2[B] k-n-1 [C] k-n[D] k-n+1 5、凸多边形窗口的二维线裁剪Cyrus-Beck算法中,若( C ),说明P1P2与第i 条边平行。 [A] N i·(P2-P1)<0[B] N i·(P2-P1)> 0 [C] N i·(P2-P1)=0[D] N i·(P2-P1) ≠0

相关文档
最新文档