《计算机图形学》期末速成

1.简介

  1. 计算机图形学是利用计算机研究图形的表示、生成、处理和显示的学科
  2. 图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。
  3. 图形分为基于线条信息表示的图形明暗图(真实感图形)
  4. 真实感图形计算的结果,是以数字图像的方式提供的。
  5. 图形学的历史,感觉考这个概率不大(出题人脑子疼)

2.图形设备

  1. 图形输出设备:CRT(阴极射线管),LCD(液晶显示器),LED
  2. 图形输入设备:键盘、鼠标、光笔、触摸屏、扫描仪
  3. 图形绘制指硬拷贝
  4. CRT的局限性:①空间的限制②电磁波干扰③电磁辐射
  5. LCD技术指标:①点距②分辨率③可视角度
  6. CRT技术指标:①显示速度②分辨率
  7. 图形处理器的组成:①GPU②显示缓存Cache③数字模拟转换器DAC

3.直线段扫描转换

  1. 确定最佳逼近图形的像素集合,并用指定的颜色和灰度设置像素的过程称为图形的扫描转换光栅化
  2. 光栅化问题:①区域填充②裁剪③反走样
  3. DDA使用条件: ∣ K ∣ ≤ 1 |K| \le 1 K1
  4. 中点画线法和Bresenham算法大家看一下过程,可能会出题让你判断下一个点选择 y p + 1 y_p+1 yp+1还是 y p y_p yp

4.圆、椭圆的扫描转换

  1. 圆的特征:八对称性

    判别式 ( x p + 1 ) 2 + ( y p − 0.5 ) 2 − R 2 (x_p+1)^2+(y_p-0.5)^2-R^2 (xp+1)2+(yp0.5)2R2(判断中点与真实位置距离圆心的远近)

  2. 当椭圆斜率绝对值小于1,在x方向去单位步长

    F ( x , y ) = b 2 x 2 + a 2 y 2 − a 2 b 2 = 0 F(x,y)=b^2x^2+a^2y^2-a^2b^2=0 F(x,y)=b2x2+a2y2a2b2=0

    判别式 F ( x + 1 , y − 0.5 ) F(x+1,y-0.5) F(x+1,y0.5)

  3. 当椭圆斜率绝对值大于1,在y方向取单位步长

    判别式 F ( x + 0.5 , y − 1 ) F(x+0.5,y-1) F(x+0.5,y1)

  4. 关于选取点的问题自己画图结合课本应该可以看明白(PPT就抄课本)

5.区域填充(很可能出大题)

  1. 区域填充最常用的是多边形填色

  2. 填色算法:①扫描线填色算法②种子填色算法

  3. 计算NET:从下往上扫描,扫描线(一条平行于x轴的线)遇到节点(不是边)就保存以该节点为端点的边;若同一个节点为多条边的端点,则需要链表形式存储
    在这里插入图片描述

  4. 计算AET:从下往上扫描,遇到边与扫描线有交点,就从左到右保存交点所在边的信息
    在这里插入图片描述

  5. 图的连通性:四连通和八连通

6.裁剪

  1. 直线段裁剪需要记住9个区域的代码
    在这里插入图片描述

    • p1=0000且p2=0000,说明线段都在窗口0000内,取
    • p1&p2 $\ne$0,p1p2全部乱在窗口0000外,舍弃
    • 在交点处把线段分为两段,在窗口内的保留;在窗口外的舍弃
  2. 当凸多边形是矩形窗口时,Cyrus-Beck算法退化为梁友栋算法

  3. 多边形裁剪的四种情况要记一下,可能会让你判断输出情况
    在这里插入图片描述
    在这里插入图片描述

  4. 字符裁剪分为①串精度②字符精度③像素精度

7.线宽线型、走样、反走样

  1. 线刷:线始末端是水平或竖直的;在竖直或水平处最粗;小于45°弧用水平刷子,大于45°用垂直刷子
  2. 方形刷:线段末端是水平或竖直的;在竖直或水平处最粗
  3. 线型:实线、虚线、点划线
  4. 线型用一个布尔值的序列表示
  5. ASCII码有128个字符
  6. 汉字编码的国家标准字符集GB 2312-80 94个区94个位
  7. 点阵字符由位图表示,存储空间大,易于显示
  8. 矢量字符存储空间小,需要光栅化
  9. 走样:用离散量表示连续量引起的失真现象
  10. 反走样:用于减少或消除这种走样效果的技术
  11. 反走样方法:①提高分辨率②区域采样(加权区域采样)

8.图形变换(很可能出大题)

  1. 齐次坐标 ( x , y ) → ( h x , h y , h ) (x,y)→(hx,hy,h) (x,y)(hx,hy,h)。一般做题h取1就好,方便自己

  2. 二维和三维变换的平移、缩放、旋转、错切、对称矩阵必须背下来

  3. 平移矩阵就自己待定系数法计算一下

  4. 旋转变换的矩阵记住cos和sin的位置就好

    在这里插入图片描述

  5. 复合变换就是将变换矩阵依次相乘(应与你操作的顺序一致)
    在这里插入图片描述

  6. 三维的旋转矩阵因为绕不同的轴转不一样,我们需要记三个矩阵。但还是有些规律的①绕哪个轴转,哪个变量就不变②其余变量变换可以参考二维

    在这里插入图片描述

    这是绕x轴,因为第一列第一行为1,该列其余为0。剩下的就跟二维一样

    在这里插入图片描述

    这是绕y轴的,第二列第二行为1,该列其余为0。这里cos和sin的排布有点和二维不一样,因为这里角度变为钝角,cos值为负(自己推导可以得出,不过可以忽略,稍微记住这个特例就行)

    在这里插入图片描述

    这是绕z轴的,理由同上。

  7. 灭点:当物理用透视变换方程投影到观察平面上时、物体中不与观察平面平行的任一族平行线经过透视投影后收敛于一点,此点为灭点。

  8. 主投影、斜投影、透视投影

9.参数曲线与曲面

  1. 曲线参数表示:①显示表示②隐式表示③参数表示

  2. 曲率:曲线的单位切矢对弧长的转动率

  3. 挠率:副法线方向(或密切平面)对于弧长的转动率

  4. 分辨法平面、密切平面、从切面

    在这里插入图片描述

  5. 插值、拟合、逼近的概念(看看就好)

  6. 光顺是指曲线拐点不太多

  7. 相对光顺的条件:①具有二阶几何连续性( G 2 G^2 G2)②不存在多余拐点和奇异点③曲率变化较小

  8. 参数连续性( C n C^n Cn)保证了几何连续性( G n G^n Gn

10.Bezier曲线(肯定出大题)

  1. 基函数计算
    B i , n = C n i t i ( 1 − t ) n − i B_{i,n}=C_n^it^i(1-t)^{n-i} Bi,n=Cniti(1t)ni
    在这里插入图片描述

  2. 给出两条Bezier曲线 P ( t ) , Q ( t ) P(t),Q(t) P(t),Q(t),假设n=3,则两条曲线拼接的条件:

    • P n = Q 0 P_n=Q_0 Pn=Q0,即第一条曲线的最后一个点和第二条曲线的第一个点重合
    • 保证 P n − 1 , P n = Q , Q 1 P_{n-1},P_n=Q,Q_1 Pn1,Pn=Q,Q1三点共线

11.真实感图形学

  1. 图像空间消隐算法:按每个像素处理,复杂度 O ( m n k h ) O(mnkh) O(mnkh)(wkf教过《算法分析与设计》)

    有画家算法,Z-buffer算法

  2. 物体空间消隐算法:按每个面处理,线消隐,复杂度 O ( ( k h ) ( k h ) ) O((kh)(kh)) O((kh)(kh))

  3. 消隐对象分类:①面消隐②线消隐

  4. 颜色的三个视觉特性:①色调②饱和度③亮度

  5. 颜色的物理特性:①主波长②纯度③明度

  6. RGB通常用于彩色光栅图形显示

  7. HSV对用户是一个较直观的模型

  8. 环境光在空间中近似均匀分布,强度相同;环境光反射系数不同

  9. 漫反射一般指粗糙、无光泽物体表面对光的反射

  10. 镜面反射一般指光滑物体表面对光的反射

在这里插入图片描述

  1. 镜面反射特点:①空间分布具有一定方向性②光强取决于入射光表面材料观察方向

  2. 纹理是物体表面的细小结构

  3. 纹理类型:①颜色纹理②几何纹理(基于物体表面的微观几何形状)

12.整体光照模型

  1. 整体光照模型是一种处理物体之间光照的相互作用的模型
  2. 局部光照模型是一种处理光源直接照射物体表面的模型
  3. 简单光照模型是一种经验模型
  4. 局部光照根域材料的物理性质决定颜色,可以模拟金属光泽,而简单光照的颜色与材料无关
  5. 整体光照两种方法:①光线跟踪②辐射度
  6. 把物体表面间反射的折射的光称为间接光,并称这种反射为间接反射,这种折射为间接折射。
  7. 这部分东西感觉很多,不知道会不会考细节和原理,大家可以结合ppt再看看

啊,终于弄完了。我把我觉得比较会考到的知识点给列了出来(纯属感觉,没考到或者没列出来的别怪我)。我觉得还是比较全的,把一些很偏或者没法出题的点给删掉了。相关发展历史我就没列出来,用cy的话说,出历史题就脑子疼哈。希望大家能好好复习,后续还会出数据库复习总结和计组复习总结。

由于我水平有限,难免会有错误,恳请大家及时提出与批评。

B y L a n g Z h i z h e n By \quad LangZhizhen ByLangZhizhen

  • 20
    点赞
  • 133
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机图形学是研究计算机生成和处理图像的学科。在计算机图形学期末速成中,通常会涉及到图像的生成、变换、渲染和消隐等方面的知识。以下是一个简单的介绍和演示: 1. 图像生成:计算机图形学中常用的图像生成方法包括光栅化和矢量图形。光栅化是将矢量图形转换为像素点的过程,常用于显示器上的图像显示。矢量图形则是通过数学公式描述图像,可以无损地进行缩放和变换。 2. 图像变换:图像变换是指对图像进行平移、转、缩放等操作,以实现图像的变形和变换。常用的图像变换方法包括仿射变换和透视变换。 3. 图像渲染:图像渲染是指将三维模型转换为二维图像的过程。常用的图像渲染方法包括光照模型、阴影计算和纹理映射等。 4. 图像消隐:图像消隐是指在三维场景中,将被遮挡的物体从图像中消除的过程。常用的图像消隐算法包括深度缓冲法、扫描线算法和光线追踪等。 以下是一个简单的演示代码,展示了如何使用Python和OpenGL库进行简单的图形绘制和渲染: ```python import pygame from pygame.locals import * from OpenGL.GL import * from OpenGL.GLU import * def draw_cube(): vertices = ( (1, -1, -1), (1, 1, -1), (-1, 1, -1), (-1, -1, -1), (1, -1, 1), (1, 1, 1), (-1, -1, 1), (-1, 1, 1) ) edges = ( (0, 1), (1, 2), (2, 3), (3, 0), (4, 5), (5, 6), (6, 7), (7, 4), (0, 4), (1, 5), (2, 6), (3, 7) ) glBegin(GL_LINES) for edge in edges: for vertex in edge: glVertex3fv(vertices[vertex]) glEnd() def main(): pygame.init() display = (800, 600) pygame.display.set_mode(display, DOUBLEBUF | OPENGL) gluPerspective(45, (display[0] / display[1]), 0.1, 50.0) glTranslatef(0.0, 0.0, -5) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() glRotatef(1, 3, 1, 1) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) draw_cube() pygame.display.flip() pygame.time.wait(10) if __name__ == '__main__': main() ``` 这段代码使用了Pygame和OpenGL库,绘制了一个旋转的立方体。你可以尝试运行这段代码,观察立方体的旋转效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值