《计算机图行学》学习包本课程为有关专业的必修课程(或选修课程)。
通过本课程的教学,学生可以学习、了解和掌握计算机图形学中有关的基本原理、概念、方法和技术,培养和提高交互式图形设计的能力。
计算机图形学与图象处理,计算机图形学的研究内容,计算机图形学的发展简史,计算机图形学的发展方向,本课程教学要求与学习方法。
本章无习题计算机图形系统的组成、功能与分类,计算机图形显示器,图形输入设备,图形输出设备,图形软件系统,图形软件标准。
课后习题1. 某光栅系统中,显示器的分辨率为1280×768,其中每个象素点的颜色深度为12 bit,则该系统需要多大的帧缓存(即多少KB)?2. 有甲乙两台光栅图形显示器,它们的产品说明书介绍均称可以显示4096种颜色,但甲机在显示一幅画面时却只有256种颜色,问其中究竟是什么原因?参考答案1.1280×768×12 / (8×1024) = 1440(KB)2.(1) 甲机:8个位平面,采用一张有256个单元,每个单元有12 bit的彩色查找表。
(2) 乙机:12个位平面,没有采用查找表。
1点的生成,生成直线的DDA算法和Bresenham 算法,二次曲线,区域的简单种子填充算法和扫描线种子填充算法,多边形的扫描转换,字符的生成,反走样技术。
课后习题1. 用对称DDA算法画出A(0,0)到B(5,3)连线的各象素点的位置,并在表内填出相应的中间数据。
rx=5, ry=3,x=0,y=0,steps=5,dx=1,dy=0.6;2. 用Bresenham算法画出A(0,0)到B(5,3)连线的各象素点的位置,并在表内填出相应的中间数据。
dx=5, dy=3, d=2dy-dx=1, x=0, y=0, 2dy-2dx=-4, 3dy=6;23. 用Bresenham算法画出圆心为(0,0),半径为8的顺时针90至45的1/8圆弧上各象素点的位置。
4. 已知三点P0、P1、P2 ,其坐标分别是[0,0]、[1,1]、[1,0],且根据P(0)= P0, P(1)= P2,P'(0)= P1-P0的条件决定一条抛物线曲线段,要求推导该曲线段的参数方程P(t),并根据此曲线的参数方程求出P(0.5)和P'(0.5)的值,并作出该曲线的图形。
5. 推导过P0、P1、P2三点的抛物线Q(t),要求满足Q(0)= P0 , Q(0.5)= P1, Q(1)= P2的条件,并计算Q'(0)、Q'(0.5)、Q'(1)的值。
6. 图示为一边界点表示的区域(见左图,"0"为种子象素),根据简单种子填充算法按左、上、右、下入栈顺序在右图中以数字标出各象素点填充的顺序。
7. 使用交点计数法设计一个算法,以有效判别一个点A[x0,y0]与一个多边形P{[xi,yi],i=0,1,…,n}之关系。
8. 已知一多边形各顶点坐标为[0,3],[3,6],[5,6],[5,3],[4,3],[2,1],[0,3],现采用多边形扫描转换算法进行填充,试写出填充前NET及填充时AET的内容。
9. 根据扫描线种子填充算法按同一行先填充左区段后填充右区段,先上一行后下一行的顺序对所示区域进行填充("0"为种子象素),试标出各区段填充的顺序。
10. 分别按中心采样和面积采样求图中各象素点的亮度值(设最高亮度值为1,最低亮度值为0)。
3参考答案1.2.3. 用Bresenham算法画出圆心为(0,0),半径为8的顺时针90°至45°的1/8圆弧上各象素点的位置。
44.5.6.7. (1) 调用一个点与一条线段的判别算法,以首先排除A在P边界上的情况;(2) 过A向右作一条水平线,去掉P上的水平边;(3) 求出该水平射线与多边形各边的交点;(4) 按"上闭下开"或"下闭上开"的原则5 处理交点在某些情况下给予计不计数的问题;(5) 按交点数的奇偶性以判别A在P的内或外。
8.69.710.8二维观察变换,直线与多边形的裁剪,二维几何变换,二维图形计算,平面图形程序设计。
课后习题1. 已知窗口(wxl=-0.5,wxr=0.5,wyb=0.0,wyt=1.0)及视口(vxl=0,vxr=1280,vyb=0,vyt=1024),求窗口中一点P(0.25,0.75)变换至视口中P*的坐标值。
2. 根据区域编码裁剪算法对线段P1P2(P1[80,75],P2[-40,0])进行裁剪,以图解形式说明裁剪过程(已知:XL=0,XR=100,YB=0,YT=50)。
3. 根据中点分割裁剪算法以图解形式叙说裁剪过程(P1[80,-50],P2[180,50],窗口尺寸同上题)。
4. 使用图形变换的理论和方法推导平面上任一点相对于任一直线ax+by+c=0作对称变换的变换矩阵T。
5. 将平面上一点P1[x1,y1]经下列变换至P2[x2,y2],分别求其中的变换矩阵。
(1) 将P1直接平移至P2。
(2) 在x1*x1+y1*y1=x2*x2+y2*y2且 x1,y1,x2,y2均>0的条件下,将P1旋转至P2 。
(3) 在y1:x1=y2:x2且x1,y1,x2,y2均10的条件下将P1比例变换至P2。
6. 证明两个连续的二维旋转变换是可以迭加的,即R(a1)R(a2)=R(a1)+R(a2)。
7. 已知窗口(Wxl,Wxr,Wyb,Wyt)及视口(Vxl,Vxr,Vyb,Vyt),试用图形变换的矩阵方法求二维观察变换矩阵T。
98. 参考二维几何变换的理论和方法推导求一个任意位置、方位、大小的长方形四个顶点的坐标的计算公式,其中小x0、y0、a、b、a为已知。
9. 列出求任一正方形ABCD的四个顶点的坐标值的计算公式,其中x0、y0、a、a为已知。
10. 图示为正方形一边旋转一边缩小的图案,其中每次旋转的角度为a,旋转后的正方形的各个顶点均在旋转前的正方形的各边上,求前后两个正方形之间的变换矩阵。
11. 图示为一箭头,其中x0、x0、a、b、d、a为已知,求A、B、C三点的坐标值。
12. 设计一个算法,以求平面上任意两条线段的交点。
13. 参考多边形的双边裁剪算法,设计一个算法以求两个相交的多边形的交集。
1014. 用多边形的单边裁剪算法对图示的多边形进行裁剪,试以图形方式叙述每一步裁剪后输出的多边形序列,以及裁剪后的最后结果。
参考答案1. vx=0+[0.25-(-0.5)]*(1280-0) / [0.5-(-0.5)] = 960vy=0+(0.75-0) *(1024-0) / (1-0) = 7682.113.4.5.126.7.8.139.10.11.1412. 设两条线段为P1P2、P3P4,它们的方程为:15曲线曲面的基础知识,抛物线插值,Hermite插值,Bezier曲线和Bezier曲面,B 样条曲线和B样条曲面,插值曲面。
1. 分别写出常见的五种用参数表示的曲线或曲面的方程。
2.证明曲线{P(u)=[u2-2u,u],u?[0,1]}的尾部与曲线{Q(t)=[t2-1,t+1],t?[0,1]}的首部之间达C1连续,并求出其连接点。
3.已知P0[0,1]、P1[1,0]、P0’[1,1]、P1’[0,-1],求此四个条件决定的三次Hermite曲线的参数方程P(t),并求出P(0.5)及P’(0.5)的值,以此为基础作出该曲线的图形。
4.写出P0、P1、P2、P3、P4五点决定的Bezier曲线的表达式。
5.给定P0[0,0,0]、P1[1,-1,-1]、P[2,1,1]、P3[6,0,0]四点作为特征多边形顶点构作一条Bezier曲线,试计算曲线上参数分别为0、1/3、2/3、1的点的值。
6.今有一条Bezier曲线分别经过第5题给出的四点且通过时的参数分别是0、1/3、2/3、1,求决定该曲线的四个控制点的坐标值。
7.作出下列各题的Bezier曲线的图形(作图尽量准确,作图线可保留)。
8.作出下列各题的B样条曲线的图形,(1)二次B样条曲线,(2)三次B样条曲线。
9.分别写出(1)3′2次,(2)3′1次,(3)2′1次Bezier曲面片的矩阵表达式,并求Q(0.5,0.5)的值(以诸顶点的多项式表示)。
参考答案161.2.3.4.175.6.9.18 物体的表示方法,三维几何变换,三维观察变换,三维至二维的投影变换,消隐算法,三维变换输出过程,一个不断旋转的立方体。
课后习题1. 今有边长为1的与坐标轴对齐的位于第一象角的立方体,将其对角线OA(A的坐标为[1,1,1])先绕OZ 轴旋转到YOZ坐标平面上,后绕OX轴旋转到与OY轴正向重合的位置,求每次旋转的旋转矩阵和综合变换矩阵。
2. 试求空间一点向XOZ平面正投影的变换矩阵T及P(x,y,z)在XOZ平面上的正投影P*。
3.求正等轴测投影变换矩阵T,此变换是先绕Y轴旋转45o后,绕X轴旋转36o16’,然后再向XOY平面进行正投影。
要求计算边长为4、坐标原点位于其中心的立方体的八个顶点的正等轴测投影位置,并通过作图依次将各边连接起来以形成立方体的投影图。
194. 在透视投影中,设视点位于坐标原点,视距为8(即视平面平行于XOY平面且位于z=5处),求此透视投影变换矩阵T以及空间一点P[10,10,4]的透视投影P*的坐标值。
5. 在透视投影中,设投影中心为[0,0,8],投影面为XOY平面,求此透视投影变换矩阵T以及空间一点P[4,4,4]的透视投影P*的坐标值。
6. 用欧拉公式验证图中所给的两个物体,其中(1)以二视图表示,(2)以立体图表示。
7. 已知DABC(其中A为[0,1,0],B为[0,0,1],C为[1,0,0])各边走向为A?C ? B ? A。
视点E位于[0,0,10]处,试判别DABC的可见性。
8. 设一显示器的分辨率为1280×1024,深度缓冲器的分辨率为0 ~ 216-1,求深度缓冲器的大小。
参考答案1.202.3.4.5.6.(1) V=16,F=14,E=28,R=0,S=1,H=0,左值=2,右值=2,左值=右值,符合欧拉公式。
(2) V=32,F=30,E=60,R=0,S=1,H=0, 左值=2,右值=2,左值=右值,符合欧拉公式。
217.8. 1280*1024*24/(8*1024*1024)=2.75(MB) 交互任务,交互设备,各种交互技术,图形用户化界面,用户界面设计原则,输入控制技术,窗口管理系统。
本章无习题课程内容复习,上机作业指导,名词术语介绍,数学知识与公式,图形算法汇总,模拟考题分析,复习思考题。