title: 计算机图形学
author: 龙威旭
date: 2024-05-10 17:09:12
计算机图形学
期末计算机图形学复习
第一章
1、计算机图形学是是研究怎样用计算机输入、生成(处理)、存储、显示、输出图形的一门学科。
2、构成图形的要素:1)几何要素。2)非几何要素
3、计算机图形学研究内容:图形硬件、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及图形标准、图形交互技术、科学计算可视化、计算机动画、 自然景物仿真、虛拟现实等
4、1962年,MIT林肯实验的Ivan E·Sutherland发表了题为“Sketchpad”一个人机交互通信的图形系统,首次使用了“计算机图形学”这个术语
5、计算机图形学的应用及研究前沿:计算机辅助设计与制造,可视化,真实感图形实时绘制与自然景物仿真,计算机动画,用户接口,计算机艺术。
6、一个图形系统通常由图形处理器,图形输入设备和图形输出设备构成
7、CRT的构成:电子枪,聚焦系统,加速系统,磁偏转系统,荧光屏(了解各部分的作用)
主要就是电子枪,偏转系统,荧光屏。
8、彩色CRT显示器显示原理:
•高速的电子束由电子枪发出,经过聚焦系统、加速系统和磁偏转系统就会到达荧光屏的特定位置。
•由于荧光物质在高速电子的轰击下会发生电子跃迁,即电子吸收到能量从低能态变为高能态。
•**由于高能态很不稳定,**在很短的时间内荧光物质的电子会从高能态重新回到低能态,这时将发出荧光,屏幕上的那一点 就会亮了。
彩色光棚扫描显示器的分辨率(M*N)、颜色个数K与显存大小V的关系:
V>=M * N * ⎡log2K⎤ (位)
9、计算显存:分辨率✖️位平面数
分辨率:是指CRT在水平或垂直方向的单位长度上能分辨出的最大光点(像素)数, 分为水平分辨率和垂直分辨率。
分辨率越高,显示的画面越清晰。
10、LCD液晶显示器基本技术指标:1)可视角度 。2)点距和分辨率。——液晶显示器的分辨率是指其真实分辨率。
11、图形处理器:显示全芯片——CPU
12、图形输入设备:键盘,鼠标,跟踪球,空间球,数据手套,光笔,触摸屏。
13、图形在计算机中的表示:1)点阵法(图像)。2)参数法(图形)
参数法用图形的形状参数和属性参数来表示图形。
14、绘制流水线的基本结构从概念上包括三个阶段:应用程序阶段、几何阶段、光栅阶段。
15、openGL (工业标准)的相关库:核心库(gl),实用程序库 (glu)。
16、帧缓存是用于存放点阵图像的像素点的颜色信息
第二章
1、直线段的扫描转换算法
1.1 数值微分法
增量法:直线斜率 k = y 1 − y 0 x 1 − x 0 k=\frac{y_{1}-y_{0}}{x_{1}-x_{0}} k=x1−x0y1−y0 。当𝜟x = 1时, y i + 1 = y i + k y_{i+1}=y_{i}+k yi+1=yi+k,即x每增加1,y递增k(但每次新y需要用int(y+0.5)来实现四舍五入)
上述仅适用于|k|<=1的情形,当|k|>1时,必须把x,y地位互换,y每增加1,x相应增加1/k。
![image-20240511101738084](https://img-blog.csdnimg.cn/img_convert/a4aea141196b83a8f4e750d9f1552988.png)
1.2 中点画线算法
-
初始判别式, d 0 = 2 a + b d_{0}=2a+b d0=2a+b。
-
当 d 0 d_{0} d0 >0,取正右边的点为下一个点,增量为2a,更新 d = d 0 + 2 a d=d{0}+2a d=d0+2a
-
当 d 0 d_{0} d0 <0,取右上的点为下一个点,增量为2(a+b),更新 d = d 0 + 2 ( a + b ) d=d{0}+2(a+b) d=d0+2(a+b)。_
-
a = y 0 − y 1 a=y_{0}-y_{1} a=y0−y1, b = x 1 − x 0 b=x_{1}-x_{0} b=x1−x0
![image-20240511102107791](https://img-blog.csdnimg.cn/img_convert/bf31f253ff0d240b88a780a8b04c5a7a.png)
1.3 Bresenham画线算法
![image-20240511102846983](https://img-blog.csdnimg.cn/img_convert/5dc842716be5d2b4d0d5a3c0ef38c4d1.png)
题目:
![image-20240511103208610](https://img-blog.csdnimg.cn/img_convert/cdc47fe0323cebf97d9e74c1ccd2767d.png)
![image-20240511104929566](https://img-blog.csdnimg.cn/img_convert/3daf59b1ae3f5dde7f44d510a6da1372.jpeg)
![image-20240511105157424](https://img-blog.csdnimg.cn/img_convert/0d102593f7da9cc4fb2a307427882f4c.jpeg)
2、圆弧的扫描转换算法
2.1 中点画圆法
- 初始判别式, d 0 = 1.25 − R d_{0}=1.25-R d0=1.25−R
- 当 d 0 d{0} d0 <0,取正右边的点为下一个点,增量为 2 x p + 3 2x{p}+3 2xp+3
- 当 d 0 d{0} d0 >0,取右下的点为下一个点,增量为 2 ( x p − y p ) + 5 2(x{p}-y_{p})+5 2(xp−yp)+5
![image-20240511105714640](https://img-blog.csdnimg.cn/img_convert/8d6609bf58c4edd2f85b8e1b0eabad74.png)
3、多边形的扫描转换与区域填充
3.1 对于一条扫描线,多边形填充过程分为如下4个步骤
- 求交。计算扫描线与多边形各边的交点。
- 排序。把所有交点按x值的递增顺序排序。
- 配对。将第一个与第二个,第三个与第四个等交点配对,每对交点代表扫描线与多边形的一个相交区间。
- 填色。把相交区间内的像素置成多边形的颜色,把相交区间外的像素置成背景色
3.2 扫描线填充算法
扫描线填充算法的步骤:求交、排序、交点配对、区间填色。
活性边:与当前扫描线相交的边称为活性边
有效边表:把有效边按与扫描线交点x坐标递增的顺序存放在一个链表中,此链表称为有效边表。
有序边表算法是利用图形的空间连贯性和扫描线的连贯性计算下一条扫描线与边的交点
![image-20240511161400295](https://img-blog.csdnimg.cn/img_convert/70bb1b0e0f391aedb0128506bb7f0a15.png)
![image-20240511161524453](https://img-blog.csdnimg.cn/img_convert/e1eef54674b76dd7b7ef2c79c225c64e.png)
题目:
写出下面图形的有序边表算法的过程(要求画出ET表)
ET表描述的是多边形边的信息
![image-20240511162058142](https://img-blog.csdnimg.cn/img_convert/0c9139ac19c389b1a5a289c4d2427d34.png)
![image-20240511162131336](https://img-blog.csdnimg.cn/img_convert/aed6af2f5449c743d2c9950cc5e2decd.png)
![image-20240511162256598](https://img-blog.csdnimg.cn/img_convert/ead72ebd9578b644b620fc2c726853bb.png)
4、区域填充算法
内地表示,边界表示
四连通区域,八连通区域
![image-20240511163130722](https://img-blog.csdnimg.cn/img_convert/31b7567aa0bb828b06a8e4542fd0aa3d.png)
![image-20240511163552605](https://img-blog.csdnimg.cn/img_convert/1c373a161934899d196325418ba32cb4.png)
![image-20240511163749535](https://img-blog.csdnimg.cn/img_convert/8e5b4b6a8d00704cb5e1e1546765b783.png)
(4,3)
![image-20240511170551437](https://img-blog.csdnimg.cn/img_convert/2ca3ef515afd1e6cd818fe74d0fd94b7.png)
5、两种字符
点阵字符,矢量字符
6、裁剪
cohen-Sutherland裁剪算法
1)把窗口划分成9个块编码
1001 | 1000 | 1010 |
---|---|---|
0001 | 0000 | 0010 |
0101 | 0100 | 0110 |
2)找出直线端点P1,P2,所在的区号code1,code2.
3)进行判断:
1-若code1 = 0 且code2 = 0,P1P2在窗口内,取之
2-若code1 & code2 != 0 ,则直线完全在窗口外,弃之
3-若code1 & code2 = 0,则求出线段与窗口的交点P’ ,交换可见段的顶点(保持P1在窗口外,易于代码实现),继续重复操作
判断与哪条窗口边相交就用点编码与边编码按位与,不为0则有交,或用点P1的从低到高寻找编码位为1的方法找交线,如0101,与左边界有交,位为1表示有交点。
梁有栋算法
7、反走样
概念:用离散量表示连续量引起的失真称为走样,用于减少或消除效果的技术称为反走样。
常用的反走样方法:提高分辨率,简单区域采样和加权区域采样。
8、消隐
概念:由于投影变换失去了深度信息,往往导致图形的二义性,要消除这类二义性,就必须在绘制时消除被遮挡的不可见的线或面,习惯上称之为消除隐藏线和隐藏面,或简称消隐。
9、消除隐藏面的算法
1、画家算法
2、Z缓冲区算法
3、扫描线Z-Buffer算法
4、区间扫描线算法
5、区域子分割算法
6、光线投影算法
第三章
![image-20240511195248591](https://img-blog.csdnimg.cn/img_convert/3dffedeacf7ab29732e403d22d49663e.png)
![image-20240511195934246](https://img-blog.csdnimg.cn/img_convert/639baac7b39d13a6d1aa02f9bdb3aca8.png)
![image-20240511200212852](https://img-blog.csdnimg.cn/img_convert/56ada1211de283e573692ba1d4a8f194.png)
![image-20240511200629214](https://img-blog.csdnimg.cn/img_convert/c4af8e64b248c3b9501e726e6b0f5cff.png)
![image-20240511201504283](https://img-blog.csdnimg.cn/img_convert/569381220d92f79d83b1f9c6a6992406.png)
![image-20240511201440864](https://img-blog.csdnimg.cn/img_convert/66992b2a882c2d2a2be5e13399cc5b9f.png)
![image-20240511201740952](https://img-blog.csdnimg.cn/img_convert/e9f49e264b464d37f73dff9646adf5fb.png)
![image-20240511203817926](https://img-blog.csdnimg.cn/img_convert/701c4bb21bedda274c71f752d5a48d9c.png)
![image-20240511205934799](https://img-blog.csdnimg.cn/img_convert/62a2839365cbcaecfd1b2c517a11d486.png)
第四章
张清华总结:
计算机图形学是利用计算机研究图形的表示,生成,处理和显示的学科。计算机图形学之父:Ivan E sutherland
计算机图形学的主要研究内容是如何在计算机中表示图形以及利用计算机进行图形的计算处理显示的相关原理和算法。
- 三个以上图形学的应用领域:计算机动画,计算机艺术,科学计算可视化,计算机辅助设计与制造,图像实时绘制等
- 一个图形系统通常由哪些图形设备组成:图像处理器,输入设备,输出设备 。
- CRT(阴极射线管)工作原理:高速的电子束由电子枪发出经过聚焦系统,加速系统和磁偏转系统就会达到荧光屏的特定位置,由于荧光物质在高速电子的轰击下会发生电子跃迁,即电子吸收能量从低能态到高能态,由于高能态的不稳定性,在很短的时间内荧光物质的电子会从高能态重新回到低能态,这时将发出荧光,屏幕上的打一点就会亮。
- LCD(液晶显示器)有哪些技术指标:可视角度,点距,分辨率
- 图形输入设备:键盘,鼠标,触摸屏,跟踪球,数据手套,光笔,图像扫描仪,数字化仪。
- 直线扫描三种算法:DDA算法(数值微分法),中点画线法,Bresenham算法; 圆弧扫描算法:中点画圆法;多边形扫描算法:扫描线算法,边界标志算法
- 区域填充算法:递归算法,扫描线算法
- 裁剪算法:Cohen-sutherland算法,中点分割法,梁友栋-Barskey算法
- 为了在显示器等输出设备上输出字符,系统中必须装备有相应的字库,字库中存储了每个字符的形状信息,字库分为哪两种类型,各有什么特点。
答:字库分为点阵型和矢量型两种。
点阵字符:储存量大,易于显示
矢量字符:储存量小,美观,交换方便,但是需要光栅化才能显示。
- 字符串裁剪可按哪三个精度进行:串精度,字符精度,笔画或像素精度
- 走样:发生了锯齿现象就是走样 反走样:消除走样现象的技术 反走样方法:提高分辨率,区域采样,加权区域采样
- 消隐:在绘制时消除被遮挡的不可见的线或面。 算法:物体空间:光线投影算法,Roberts算法;图像空间:Z-buffer算法,扫描线算法,wal-nock算法;物体空间:画家算法。
- 曲线三种表示:显示表示,隐式表示,参数表示。
- 计算机图形学形体表示方法:多边形网格,体素,边界表示法,隐式表示法,曲线曲面表示法
- 颜色 心理学,视觉角度特征:色调,饱和度,亮度;光学角度特征:主波长,纯度,明度
- 颜色模型:RGB,CMY,HSV;不用光线的光谱能量分布来定义颜色:由于每一个颜色域都是可见光的子集,所以任何一个颜色模型都无法包含所有可见光。
- 简单光照模型:光照射到物体表面时,光线可能被吸收,反射和透射,被物体吸收的光转化为热,反射透射的光进入人视觉系统,为了模拟这一现象,可建立数学模型来代替物理模型,这就是简单关照模型; 局部光照模型:在真实感图形中,仅处理光源直接照射物体表面的光照模型;整体光照模型:可以处理物体之间光照的相互作用的模型
- 图像纹理:物体表面的细小结构,可以是光滑表面的花纹;几何纹理,可以是粗糙表面,基于物体表面的微观几何形状的表面纹理;三维纹理:用三维直角坐标作为纹理空间的坐标。