第一章绪论1、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。
解:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。
计算机图形学研究的是从数据描述到图形生成的过程。
例如计算机动画。
图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。
例如工业中射线探伤。
模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。
例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。
2、举3个例子说明计算机图形学的应用。
解:①事务管理中的交互绘图应用图形学最多的领域之一是绘制事务管理中的各种图形。
通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。
②地理信息系统地理信息系统是建立在地理图形基础上的信息管理系统。
利用计算机图形生成技术可以绘制地理的、地质的以及其他自然现象的高精度勘探、测量图形。
③计算机动画用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。
3、计算机生成图形的方法有哪些?解:计算机生成图形的方法有两种:矢量法和描点法。
①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短失线,从而得到一条近似的曲线。
尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。
(2)描点法4.什么叫虚拟现实技术和可视化?解:虚拟现实技术:利用计算机生成一种模拟环境,通过多种传感器和设备使用户“投入”到该环境中,实现用户和该环境直接进行交互的技术。
例如模拟飞机驾驶舱。
可视化技术:通过对空间数据场构造中间几何因素,或用图形绘制技术在屏幕上产生二维图象。
例如分子模型构造。
5.对于分辨绿为1024*1024的光栅系统,若每一像素咏8位和12位二进制来表示存储信息,各需多大光栅存储容量?每一屏幕最多能显示多少颜色?若R,G,B灰度都占8位,其显示颜色的总数是多少?解:1)每一像素用8位二进制来表示存储信息,所需容量为1024*1024*1=220(byte)=1MB彩色素:28=256( 项)2)若每一像素用12位二进制表示存储信息,所需容量为:1024*1024*1.5=1.5*220(byte)=1.5MB 彩色素:212=4096( 项)3)颜色总数:28*28*28=224(种)6.对于19英寸显示器,若X 和Y 两方向的分辨率相等,即-1024*1024,那么每个像素点的直径是多少?解: 210244.25*19=0.33(mm )或2102419=0.013(英寸)第二章 光栅图形学1. 在图形设备上如何输出一个点?为输出一条任意斜率的直线,一般受到哪些因素影响?若图形设备是光栅图形显示器,光栅图形显示器可以看作是一个像素的矩阵,光栅图形显示器上的点是像素点的集合。
在光栅图形显示器上输出一条任意斜率的直线,主要受到以下因素的影响:(1)光栅图形显示器的分辨率;(2)线宽、线型;(3)直线的扫描转换的算法。
2. 为什么说直线生成算法是二维图形生成技术的基础?3. 对于Bresenham 直线生成算法,如何利用对称性通过判别误差变量同时从直线两端向直线中心画直线?又如何消除可能产生的误差?4. 在显示屏上产生具有三根针的时针图,并且使它成为一个真正的会走的时针。
5. 修正正文中给出的画圆Bresenham 算法,使之能产生椭圆。
假设椭圆中心在坐标原点,椭圆的长短轴分别是Ra 和Rb 。
以第一象限为例,取(0,Rb )为起点,按顺时针方向生成椭圆。
下一象素的取法只有三种可能的选择:6. 将画圆的Bresenham 算法扩大,使之能画一个实心圆。
即圆内是一种不同于背景色的灰度。
7. 利用画圆(或画椭圆)命令写一个程序能产生馅饼图。
输入此程序的数据是馅饼中每个扇型的百分比。
每个部分的名称,馅饼图的名称。
这些名称应显示在馅饼图外适当位置上。
8. 试说明Bresenham直线算法对于下列两种情况仍能用判别变量p的符号正确地选择下一点的坐标值的理由。
设当前被选点是(x,y),而实际直线在x+1处的交点不是落在y和y+1之间,而是:(a) 落在y和y-1之间,例如从(0,0)到(7,2)的直线在点(2,1)后的点;(b) 落在y+1和y+2之间。
例如从(0,0)到(7,5)的直线在点(2,1)后的点。
第三章图形变换与裁剪(1)_二维图形变换1. 在齐次坐标系中,写出下列变换矩阵:(a)整个图象放大2倍;Answer:(b) y向放大4倍和x向放大3倍;Answer:(c)图象上移10个单位和右移5个单位;Answer:(d)保持x=5和y=10 图形点固定,图象y向放大2倍和x向放大3倍;Answer:分三步(1) 将坐标系平移到点(5,10)T1 =(2) 将图象y向放大2倍和x向放大3倍S =(3) 平移坐标系至(-5,-10)点T2=T = T2 ·S·T1 == (e)图象绕坐标原点顺时针方向转π/2;Answer:R =(f)图象绕点x=2和y=5反时针方向转π/4。
Answer:分三步(1) 将坐标系平移到点(2,5);T1 =(2) 将图象绕原点反时针方向转π/4;R =(3) 将坐标系平移到点(-2,-5);T2 =T = T2 ·R·T1 ==2. 由比例、平移和旋转变换构成的复合变换,仅在某些情况下交换次序不影响总的变换效果,它们是哪几种两个变换的组合。
Answer:(1)两个连续的平移变换;(2)两个连续的比例变换;(3)两个连续的旋转变换;(4)比例系数相等的比例变换和旋转变换。
3. 写出由部分图形产生满足下列条件的另一部分图形的变换矩阵:(a)对y轴对称;(b)对x轴对称;(c)对坐标原点对称;(d)对直线y=x成轴对称;(e)对直线y=-x成轴对称;(f)对图E3所示方向进行比例系数为S1 和S2的图形;(1)将图形绕原点逆时针方向旋转θ角;R1 =(2)在x方向上的比例系数为S1,y方向的比例系数为S2;S =(3)将图形绕原点顺时针方向旋转θ角。
R2 =M = R2 R1 ==(a)对直线y=mx+b对称的图形。
(1) 当m = 0时;T1 = T2 = T3 =M = T3T2T1 = =(2) 当m ≠ 0,b = 0时,以第一象限为例;T1 = T2 = T3 =M = T3 T2 T1 ==因为,tanθ = m,cos2θ = (1-m2) ∕ (1+m2),sin2θ = 2m / (1+m2) (3) 当m ≠ 0,b ≠ 0时,以第一象限为例。
T1 = T2 = T3 =T4 = T5 =M = T5T4T3T2T1=4. 对直线L: ax+by+c=0,用齐次坐标方式可以写出矩阵乘法形式p·l=0,即(a)证明空间一点与直线L的距离等于(b)求出与直线平行且经过点(x1,y1)的另一直线方程系数a`、b`和c`和系数a、b和c的关系式;a` = a; b`= b; c`= -a x1- by1(c)求出与直线垂直并且经过点(x2,y2)的另一直线方程系数a`、b`和c`和系数a、b和c的关系式a` = -b; b`= a; c`= -b x2- ay2;5. 程序中用Set-Window(x min,x max,y min,y max)和Set-Viewport(x min,x max,y min,y max) 来设定二维视见变换。
(a) Set-Window(10,100,10,150)和 Set-Viewport(0,0.25,0,0.25) ,则在齐次坐标系中的视见变换矩阵是什么?(b)显示与(a)同样的图形,但显示图形在x向为(a)的1.5倍,y向为(a)的2倍,且视见区右下角位置不变。
请写出Set-Window和Set-Viewport中的参数值;(c)从(a)中显示图形中选出右一半图形使它放大显示在(a)中规定的视见区上,请写出Set-Window和Set-Viewport中的参数值。
6. 若已知某一正方形显示器的坐标范围是以dx min,dx max,dy min和dy max规定的矩形区,且(dy max- dy min ) = 3/4 * (dx max - dx min),为保证图形不失真并充分利用显示区,请写出自用户坐标至该显示器坐标的视见变换阵。
7. 若窗口函数在定义为平行于用户坐标轴的直立矩形后,还允许此窗口再绕左下角旋转θ角,写出由旋转后窗口到直立矩形视见区的变换矩阵。
假设窗口左下角坐标为(xw1,yw1),右上角坐标为(xw2,yw2)(1)平移直立矩形视见区的左下角顶点到坐标原点;T1 =(2)将此窗口再绕左下角逆时针旋转θ角。
R =M-1 = RT1M ==8. 二维图形绕原点的旋转公式是x`=x cosθ - y sinθ和y`=x sinθ + y cosθ。
为快速产生连续旋转图形,考虑到每次旋转θ(弧度)很小,因此可用公式x`=x - y θ和y`=x θ + y 来代替,或用x`=x - y sinθ和y`=x`sinθ + y 来更好地代替。
用程序实现精确和近似计算的图形旋转,并比较之。
注意,近似计算将引入误差。
按每次旋转角的大小,可在总旋转角达π/2, π,3π/2和π等一些特殊位置上用精确计算。
9.下面是依次序给出的多边形顶点坐标,请指出哪些是凸多边形?你是如何判断的?对凸多边形求出向内法矢量。
(a) (2,3),(7,2),(10,6),(8,11),(3,8);凸多边形;内法向量依次为(-1,-5), (4,-3), (5,2), (-3,5), (-5,1)(b) (1,4),(4,1),(8,3),(8,8),(5,5);(c) (4,4),(5,1),(7,4),(5,8),(2,4);(d) (3,8),(7,10),(8,6),(9,2),(3,2)。
(b) (c) (d) 均不是凸多边形。
10.对上题中的一个凸多边形求出下列线段经剪取后的端点坐标。
(a) p1 =(3,4),p2 =(7,7);在凸多边形内(b) p1 =(1,4),p2 =(3,14);在凸多边形外(c) p1 =(1,12),p2 =(8,12);在凸多边形外(d) p1 =(13,1),p2 =(6,5)。
(8.275,3.7) 和 (6,5)11.对旋转的直立矩形窗可以用Cyrus-Beck算法进行剪取,也可对图形先进行变换,使剪取窗成直立矩形再采用Sutherland-Cohen算法进行剪取,比较这两种方法,哪一种计算量少。