计算机图形学参考答案分析
计算机图形学课后习题答案_4X

第四章:P2151、将中点画线算法推广以便能画出任意斜率的直线算法设计:(1)输入直线的起点坐标P0(x0,y0)和终点坐标P1(x1,y1).(2)定义直线当前点坐标x和y,定义中点偏差判别式d、直线斜率k、像素点颜色rgb(3)x= x0,y= y0计算d=0.5-k,k=( y1-y0)/(x1-x0), rgb=RGB=(0,0,255).(4)绘制点(x,y),判断d的符号,若d<0,则(x, y)更新为(x+1,y+1),d更新为d+1-k,否则(x, y)更新为(x+1,y),d更新为d-k.(5)如果当前点x小于(x1,重复步骤(4),否则结束。
程序主要代码:MidPointLine(x0,y0,x1,y1,color){int a,b,delta1,delta2,d,x,y;a = y0 – y1;b = x1 – x0;d = 2*a – b;delta1 = 2 * a;delta2 = 2 * (a+b);x = x0;y = y0;if (a<b)drawpixel(x, y, color);elsedrawpixel(y,x,color);while (x > x1){If (d<0){x++;y++;d+ = delta2;}Else{X++;D+=delta1;}Putpixel(x,y,color);}ElseWhile (x<x1){If (d<0){x--;y++;d-=delta3;}Else{x--;d-=delta1;}Putpixel(x,y,color);}}2、采用整数Bresenham算法,为一台计算机编制直线扫描转换程序。
从键盘敲入两端点坐标,就能在显示器屏幕上画出对应的直线。
Void DrawLine(int color){int x0,y0,x1,y1,color, I;scanf( “%d, %d, %d, %d”, &x0, &y0, &x1, &y1);dx=x1 – x0;dy=y1 – y0;e = -dx;x = x0;y = y0;for ( i=0; i<=dx; i++){putpixel(x, y, color);x=x+1;e=e+2*dy;if (e>=0){y = y + 1;e = e – 2 * dy;}}}4、试编写按逆时针方向生成第二个8分圆的中点算法算法设计:(1)输入圆的半径(2)定义圆当前点坐标x和y、中点偏差判别式d、像素点颜色rgb(3)计算d=1.25-R,x=0,y=R, rgb=RGB=(0,0,255).(4)绘制点(x, y),及其在八分圆中的另外7个对称点‘(5)判断d的符号,若d<0,则(x, y)更新为(x+1,y),d更新为d+2x+3,否则(x, y)更新为(x+1,y-1),d更新为d+2(x-y)+5.(6)当x小于等于y,重复步骤(4)和(5),否则结束。
计算机图形学基础答案

计算机图形学基础参考答案一、 判断题(10x1=10分)1、 构成图形的要素可分为两类:刻画形状的点、线、面、体的非几何要素与反映物体表面属性或材质的明暗、色彩等的几何要素。
( 错误 )2、 参数法描述的图形叫图形;点阵法描述的图形叫图像。
( 正确 )3、 EGA/VGA 为增强图形显示效果的一种图形处理软件的名称。
( 错误 )4、 对山、水等不规则对象进行造型时,大多采用过程式模拟方法。
( 正确 )5、 若两个图形是拓扑等价的,则一个图形可通过做弹性运动与另一个图形相重合。
( 正确 )6、 0阶参数连续性和0阶几何连续性的定义是相同的。
( 正确 )7、 Bezier 曲线可做局部调整。
( 错误 )8、 字符的图形表示分为点阵和矢量两种形式。
( 正确 )9、 LCD 表示发光二极管显示器。
( 错误 )10、 使用齐次坐标可以将n 维空间的一个点向量唯一的映射到n+1维空间中。
( 错误 ) 二、 填空题(15x2=30分)1、目前常用的PC 图形显示子系统主要由3个部件组成:(1)帧缓冲存储器、(2)显示控制器、(3)ROM BIOS 。
2、 图形的输入设备有(4)键盘、鼠标、光笔(至少写三种);图形的显示设备有(5)CRT 显示器、LCD 、投影仪(至少写三种)。
3、常用坐标系一般可以分为:建模坐标系、用户坐标系、(6观察坐标系、(7)规格化设备坐标系、(8)设备坐标系。
4、在多边形的扫描转换过程中,主要是通过确定穿越多边形区域的扫描线的覆盖区间来填充,而区域填充则是从(9)给定的位置开始涂描直到(10)指定的边界条件为止。
5、一个交互式计算机图形系统应具有(11)计算 、(12)存储、(13)对话、(14)输入和输出等五个方面的功能。
三、 简答题(5x6=30分)1、 请列举常用的直线段裁减算法(四种)。
答:答:直接求交算法、编码算法、中点再分算法、Cyrus-Beck 算法。
2、 考虑三个不同的光栅系统,分辨率依次为480640⨯,10241280⨯,20482560⨯。
计算机图形学基础课后答案

计算机图形学基础课后答案答案1:基本概念计算机图形学是研究计算机对图像的生成、显示和处理的学科。
它主要涉及到影像处理、计算机视觉、计算机动画等领域。
在这门课中,我们学习了一些基本的概念和原理,以下是一些常见问题的答案。
问题一:什么是像素?答:像素是图像的最小单位,它代表了图像中的一个点。
每个像素都有一个特定的颜色值,这决定了它在图像中的显示颜色。
问题二:什么是位图和矢量图?答:位图是由像素组成的图像,它以不同的颜色和亮度值来表示图像中的每个像素。
矢量图是由几何形状和曲线组成的图像,它是通过数学公式来表示的,可以无限放大而不失真。
问题三:什么是光栅化?答:光栅化是将矢量图转换为位图的过程。
在这个过程中,计算机将矢量图中的几何形状和曲线转换为像素,通过填充相应的颜色和亮度值来生成位图。
问题四:什么是渲染?答:渲染是将三维模型转换为二维图像的过程。
在渲染的过程中,计算机通过考虑光照、材质、视角等因素来计算每个像素的颜色值,然后将颜色值应用于每个像素上,生成最终的图像。
答案2:光栅化算法光栅化算法是计算机图形学中一种常用的技术,用于将矢量图转换为位图。
以下是几个光栅化算法的答案。
问题一:什么是扫描线算法?答:扫描线算法是一种光栅化算法,它通过对图像的每一行进行检查,找出与之相交的线段或多边形,并确定相交的像素。
问题二:什么是边界填充算法?答:边界填充算法是一种光栅化算法,它用于将矩形、圆形或任意形状的边界填充成指定的颜色。
算法通过扫描边界的方式,将边界内的像素填充为指定的颜色。
问题三:什么是多边形填充算法?答:多边形填充算法是一种光栅化算法,它用于将多边形的内部填充为指定的颜色。
算法通过扫描多边形的每一行,确定与多边形相交的像素,并将其填充为指定的颜色。
问题四:什么是反走样算法?答:反走样算法是一种光栅化算法,它用于解决图像中锯齿边缘的问题。
算法通过在像素的边界上增加额外的颜色值,使得边缘部分的颜色过渡更加平滑,从而减少锯齿效应。
计算机图形学习题答案

k (x k, yk) pk 0 (7, 3) b 2(x 0 +1/2)2+a 2(y 0−1)2−a 2b 2 ≈−23 1 (8, 2) p0−2a 2y1+a 2 +2b 2x1=361 2 (8,1) p1−2a 2y2+a 2 =297 3 (8, 0)
、已知多边形 ABCDEFG 如图 1 所示,请分别使用奇 A 偶性规则和非零环绕数规则鉴别点 P 和 Q 在多边形内部还 D 是在多边形外部。请写出鉴别过程。 C ●P 【解】 G (1)奇偶性规则 ●Q E P :从 P 点出发向右引一条射线(不通过多边形顶点) , F 此时,边 AG 和 DE 与该射线相交,交点数为 2,所以 P B 在多边形的外部。 图1 Q: 从 Q 点出发向右引一条射线 (不通过多边形顶点) , 此时,边 AB 和 DE 与该射线相交,交点数为 2,所以 Q 在多边形的外部。 (2)非零环绕数规则 按照 ABCDEFG 的顺序规定多边形各边的方向。 P :从 P 点出发向右引一条射线(不通过多边形顶点) ,规定环绕数 H =0,当 P 点沿射线方 向移动时,边 GA 从右到左穿过该射线,H =H +1=1,边 DE 从左到右穿过该射线,H =H -1=0, 所以 P 在多边形的外部。 Q :从 Q 点出发向右引一条射线(不通过多边形顶点) ,规定环绕数 H =0,当 Q 点沿射线方 向移动时, 边 AB 从左到右穿过该射线, H =H -1=-1, 边 DE 从左到右穿过该射线, H =H -1=-2, 所以 Q 在多边形的内部。 6、已知线段的端点为(10,15)和(16,20),请使用 Bresenham 画线算法或中点画线算法绘制该线 段,要求有完整的计算过程。 【解】 (1)中点画线算法 (2)Bresenham 画线算法
计算机图形学基础课后部分习题答案

xi+1 xi+2
第四象限
-6-
d0=F(x0+1,y0-0.5)=-(k+0.5) 令 Di=2dxdi,得 D0=-(dx+2dy),D 与 d 同号 当 Di≥0,下一点(xi,yi-1),Di+1=Di-2dy 当 Di≤0,下一点(xi+1,yi-1),Di+1=Di-2(dx+dy)
计算机图形学基础答案全

计算机图形学作业答案第二章图形系统第二章图形系统1. 什么是图像的分辨率?什么是图像的分辨率?解答:在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。
在水平和垂直方向上每单位长度(如英寸)所包含的像素点的数目。
2. 计算在240像素像素//英寸下640640××480图像的大小。
图像的大小。
解答:(640/240640/240))×(480/240)(480/240)或者(或者(或者(8/38/38/3)×)×)×22英寸。
英寸。
3. 计算有512512××512像素的2×2英寸图像的分辨率。
英寸图像的分辨率。
解答:512/2或256像素像素//英寸。
英寸。
第三章 二维图形生成技术a) 一条直线的两个端点是(0,0)和(6,18),计算x 从0变到6时y 所对应的值,并画出结果。
并画出结果。
解答:由于直线的方程没有给出,所以必须找到直线的方程。
下面是寻找直线方程(由于直线的方程没有给出,所以必须找到直线的方程。
下面是寻找直线方程(y y =mx mx++b )的过程。
首先寻找斜率:)的过程。
首先寻找斜率: m m == ⊿y/y/⊿⊿x x == (y 2-y 1)/(x 2-x 1) = (1818--0)/(6/(6--0) 0) == 3 接着b 在y 轴的截距可以代入方程y =3x 3x++b 求出求出 0 0 0==3(0)+)+b b 。
因此b =0,所以直线方程为y =3x 3x。
b) 使用斜截式方程画斜率介于0°和45°之间的直线的步骤是什么?°之间的直线的步骤是什么? 解答:1.1. 计算dx dx::dx dx==x 2-x 1。
2.2. 计算dy dy::dy dy==y 2-y 1。
3.3. 计算m :m =dy/dx dy/dx。
4.4. 计算b: b b: b==y 1-m ×x 15.5. 设置左下方的端点坐标为(x ,y ),同时将x end 设为x 的最大值。
计算机图形学课后习题答案部分

一、问答题(25 分,每题 5 分)1 、列举三种常见的颜色模型,简要说明其原理和特点。
答:所谓颜色模型就是指某个三维颜色空间中的一个可见光子集,它包含某颜色。
常用的颜色模型有 R G B 、 C M Y 、 H S V 等。
R G B 颜色模型通常用于彩色阴极射线管等彩色光栅图形显示设备中,它多、最熟悉的颜色模型。
它采用三维直角坐标系,红、绿、蓝为原色,各个可以产生复合色C MY 颜色模型以红、绿、蓝的补色青( C yan )、品红( Magenta )、黄( Yellow )为原色构成,常用于从白光中滤去某种颜色,又被称为减性原色系统。
印刷行业中 C MY 颜色模型。
H S V ( H ue , Saturation , Value )颜色模型是面向用户的,对应于画家的配色方5.1.2 中点 Bresenham 算法(P109)5.1.2 改进习题5(P144)5.3 试用中点Bresenham算法画直线段的原理推导斜率为负且大于1的直线段绘制过程(要求写清原理、误差函数、递推公式及最终画图过程)。
(P111)解: k<=-1 |△y|/|△x|>=1 y为最大位移方向故有构造判别式:推导d各种情况的方法(设理想直线与y=yi+1的交点为Q):所以有: y Q-kx Q-b=0 且y M=y Qd=f(x M-kx M-b-(y Q-kx Q-b)=k(x Q-x M)所以,当k<0,d>0时,M点在Q点右侧(Q在M左),取左点 P l(x i-1,y i+1)。
d<0时,M点在Q点左侧(Q在M右),取右点 Pr(x i,y i+1)。
d=0时,M点与Q点重合(Q在M点),约定取右点 Pr(x i,y i+1) 。
所以有递推公式的推导:d2=f(x i-1.5,y i+2)当d>0时,d2=y i+2-k(x i-1.5)-b 增量为1+k=d1+1+k当d<0时,d2=y i+2-k(x i-0.5)-b 增量为1=d1+1当d=0时,5.11 如图5-59所示多边形,若采用扫描转换算法(ET边表算法)进行填充,试写出该多边形的边表ET和当扫描线Y=4时的有效边表AET(活性边表)。
《计算机图形学》1-8章习题解答解析

《计算机图形学》1-4章习题解答习题11.计算机图形学的研究内容是什么?答:几何模型构造,图形生成,图形操作与处理,图形信息的存储、检索与交换,人机交互及用户接口,动画,图形输出设备与输出技术,图形标准与图形软件包的研究等。
2.计算机图形学与图像处理有何联系?有何区别?答:计算机图形学与图像处理都是用计算机来处理图形和图像,结合紧密且相互渗透,但其属于两个不同的技术领域。
计算机图形学是通过算法和程序在显示设备上构造图形,是从数据到图像的处理过程;而图像处理是对景物或图像的分析技术,是从图像到图像的处理过程。
3.简述计算机图形学的发展过程。
答:略。
(参考:教材P3)4.简述你所理解的计算机图形学的应用领域。
答:略。
(参考:教材P4~P5)习题21.什么是图像的分辨率?答:在水平和垂直方向上每单位长度所包含的像素点的数目。
2.在CMY 坐标系里找出与RGB 坐标系的颜色(0.2,1,0.5)相同的坐标。
答:1-0.2=0.8,1-1=0, 1-0.5=0.5 坐标为(0.8, 0, 0.5)3.在RGB 坐标系里找出与CMY 坐标系的颜色(0.15,0.75,0)相同的坐标。
答:1-0.15=0.85, 1-0.75=0.25, 1-0=1 坐标为(0.85, 0.25, 1)4.如果使用每种基色占2比特的直接编码方式表示RGB 颜色的值,每一像素有多少种可能的颜色?答:64222222=⨯⨯5.如果使用每种基色占10比特的直接编码方式表示RGB 颜色的值,每一像素有多少种可能的颜色?答:824107374110242223101010==⨯⨯6.如果每个像素的红色和蓝色都用5比特表示,绿色用6比特表示,一共用16比特表示,总共可以表示多少种颜色?答:65536222655=⨯⨯7.解释水平回扫、垂直回扫的概念。
答:水平回扫:电子束从CRT 屏幕右边缘回到屏幕左边缘的动作。
垂直回扫:电子束到达每次刷新周期末尾,从CRT 屏幕右下角回到屏幕左上角的动作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)电子枪:包括灯丝、阴极、控制栅,作用是发射电子束,控制电子束中电子的数量和极性。
(2)聚焦系统:使电子束足够细,保证屏幕的分辨率。
(3)加速电极:使电子束高速运动,以便加快刷新速度。
(4)偏转系统:控制电子束水平偏转和竖直偏转。
(5)荧光屏:电子束激活荧光物质发光。
计算机图形学参考答案
第一章
1、什么是图形?在计算机中,图形是如何表示的?
答:能够在人的视觉系统中形成视觉印象的客观对象都称为图形。计算机中,表示图形的方法有两种:
(1)点阵法:通过枚举出图形中所有的点来表示图形,它强调图形由哪些点组成。
(2)参数法:用图形的形状参数和属性参数来表示图形。
2、CRT射线管由哪几部分组成?它们的功能是什么?
{
int x=0,y=r,p=1-r;
while (x<=y){
pDC->SetPixel(xcenter+x, ycenter+y, RGB(255,0,0));
pDC->SetPixel(xcenter-x, ycenter+y, RGB(255,0,0));
pDC->SetPixel(xcenter+x, ycenter-y, RGB(255,0,0));
5、显示器的分辨率为1024*1024,显示的颜色数为256色,试问带有查找表和不带查找表的帧缓存分别是多大?
答:(1)不带查找表:1024*1024*24(bit)
(2)带有查找表:1024*1024*8+256*24(bit)
6、显示系统为什么使用查找表?
答:在帧缓存单元的位数不增加的情况下,具有大范围内挑选颜色的能力,即提高帧缓存的利用率。
pDC->SetPixel(xcenter-x, ycenter-y, RGB(255,0,0));
pDC->SetPixel(xcenter+y, ycenter+x, RGB(255,0,0));
pDC->SetPixel(xcenter-y, ycenter+x, RGB(255,0,0));
3、什么是刷新?刷新频率与荧光物质的刷新时间有什么关系?
答:(1)由于荧光物质的发光时间为10到60毫秒,为获得稳定的画面,就需要不断重复的绘制图形,这就是刷新。
(2)荧光物质的持续发光时间越长,刷新频率可以越低。
4、什么是像素?什么是显示器的分辨率?
答:(1)屏幕上的光点称为像素。
(2)若显示器水平的行数为M,每一行的扫描像素数为N,则M*N称为显示器的分辨率。
xi
yi
0
1-10=-9
0
10
1
-9+2*0+3=-6
1
10
2
-6+2*1+3=-1
2
10
3
-1+2*2+3=6
3
10
4
6+2*(3-10)+5=-3
第三章
1、如何改进扫描转换直线段的中点算法,使之能够处理斜率为任意值的直线段?
见课件。
2、分别用Bresenham划线算法和DDA划线算法绘制(20,10)到(30,18)的直线,并画出扫描转换图表示。
(1)DDA算法
xa=20,ya=10; xb=30,yb=18 ;dx=10,dy=8; steps=dx=10;delta_x=
27
16
2-4=-2
8
28
16
-2+16=14
9
29
17
14-4=10
10
30
18
3、分别用Bresenham画圆算法和中点画圆算法作图,r=10,圆心在坐标原点。
(1)Bresenham画圆算法:
void CT3View::drawcircle1(CDC* pDC)
{
int x=0,y=r,d=3-2*r;
pDC->SetPixel(xcenter+y, ycenter-x, RGB(255,0,0));
pDC->SetPixel(xcenter-y, ycenter-x, RGB(255,0,0));
if (p<0)
p=p+2*x+3;
else{
p=p+2*(x-y)+5;
y--;
}
x++;
}
}
i
Pi
1,delta_y
=0.8;
x y steps四舍五入取整
2010 0(20,10)
2110.8 1(21,11)
2211.6 3(22,12)
2312.4 3(23,12)
2413.2 4(24,13)
2514 5(25,14)
2614.8 6(26,15)
2715.6 7(27,16)
2816.4 8(28,16)
pDC->SetPixel(xcenter-x, ycenter-y, RGB(255,0,0));
pDC->SetPixel(xcenter+y, ycenter+x, RGB(255,0,0));
pDC->SetPixel(xcenter-y, ycenter+x, RGB(255,0,0));
Di
xi
yi
0
3-2*10=-17(初值)
0
10
1
-17+4*0+6=-11
1
10
2
-11+4*1+6=-1
2
10
3
-1+4*2+6=13
3
10
4
13+4*-7+10=-5
4
9
5
-5+4*4+6=17
5
9
6
17+4*-4+1Biblioteka =11687
11+4*-2+10=13
7
7
(2)中点画圆算法:
void CT3View::drawcircle2(CDC* pDC)
while (x<=y){
pDC->SetPixel(xcenter+x, ycenter+y, RGB(255,0,0));
pDC->SetPixel(xcenter-x, ycenter+y, RGB(255,0,0));
pDC->SetPixel(xcenter+x, ycenter-y, RGB(255,0,0));
pDC->SetPixel(xcenter+y, ycenter-x, RGB(255,0,0));
pDC->SetPixel(xcenter-y, ycenter-x, RGB(255,0,0));
if (d<0)
d=d+4*x+6;
else{
d=d+4*(x-y)+10;
y--;
}
x++;
}
}
i
2917.2 9(29,17)
3018 10(30,18)
(2)Bresenham算法twody=16,twodydx=-4
i
xi
yi
di
0
20
10
2*8-10=6
1
21
11
6-4=2
2
22
12
2-4=-2
3
23
12
-2+16=14
4
24
13
14-4=10
5
25
14
10-4=6
6
26
15
6-4=2
7