计算机图形学期末复习

填空题:

图形要素:几何要素和非几何要素
图形的表达方法:点阵法和参数法
图形学相关的学科:计算机视觉和图像数字处理
图形系统的五大功能:计算功能、输入功能、输出功能、储存功能、交互功能。
图形信息:几何信息、拓扑信息

实体模型:边界表示、构造表示、分解表示。

按照消隐对象的不同:分为面消隐和线消隐

深度缓存算法的两个数组:Z缓冲器和帧缓冲器,来储存各像素颜色值和各像素处物体的深度值

简答题:

1、什么是计算机图形学?计算机图形学中所研究的图形是指什么?
答:计算机图形学是研究怎样用计算机表示、生成、处理和显示图形的一门学科。计算机图形学中所研究的图形是指从客观世界物体中抽象出来的带有颜色及形状信息的图和形

2、图形为什么会出现走样?什么是反走样技术?常用的反走样方法有哪些?
答:在光栅显示器上显示图形时,图形会出现走样,原因是图形信号是连续的,而在光栅显示系统中,用来表示图形的却是离散的象素:用来减少或消除图形走样的技术,称为反走样技术。常用的反走样方法有:提高分辨率超采样和区域采样等。

3、图形裁的概念,为什么要进行图形裁剪?图形裁剪的主要工作?
答:图形裁剪的概念为:将窗口内的图形显示出来,而将窗口外的部分舍弃这种对二维图形的处理称为二维图形裁剪:在二维图形的绘制或显示处理中,有时需要给出或显示某一部分原始图形。而显示屏又是有限,这时可在适当位置按一定边界范围定义一个矩形区域(窗口),使窗口内图形为所需部分,将其保留下来作为绘制或显示用,而窗口边界之外的图形则舍弃,所以要进行图形裁剪:图形裁剪的主要工作有:窗口内外的判断,计算图形元素与窗口边界的交点。

4、请根中点生成法思想,对 +y=R,第一象限中从 X=0到 x=y 这段弧的生成算法。要求推导出主要的计算公式,并写出描述性算
答:构造函数:F(X,Y) =X^2 + X^2 - R^2

在这里插入图片描述

上述已经将递推公式求出来了。

5为什么要消隐?简述消隐算法的原理?
答:在实际生活中,有些物体往往被其他物体遮挡而不能显示出整体形态需要在画面上将这种遮挡真实反映出来,而不至于出现对图形的错误理解,必须进行消隐。
消隐算法的原理为:物体 A 在物体 B的后面,物体A 与物体 B在投影平面上有重叠部分,就可以说物体 A 被物体 B所挡。

计算题:

在这里插入图片描述

总结:构找函数:F(x)=y-kx-b=0
带入中点值求差,if(d<0) y++,x++; else x++;
依次带入计算便可以得出递推公式:di<0,di+1=di+1-k; di>=0,di+1=di-k;

在这里插入图片描述

总结:参照我的注意事项

在这里插入图片描述
在这里插入图片描述

还有一个就是桶表:就是从左到右将过点扫描变成的有效边表形成链表的数据结构

在这里插入图片描述

我的注意事项

这里只是用于我下次忘记的时候看的,如果大家有兴趣的可以看看,也就是一些微不足道的东西,这是我解开我自己谜团的关键
关于我之前上课计算机图形学的图形变换弄得云里雾里的一个东西(在被问道的下一天晚自习搞懂了):
在这里插入图片描述

下面的图片是一道例题的两种解法:
!!!仅供参考
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
计算机图形学是研究计算机生成和处理图像的学科。在计算机图形学期末速成中,通常会涉及到图像的生成、变换、渲染和消隐等方面的知识。以下是一个简单的介绍和演示: 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库,绘制了一个旋转的立方体。你可以尝试运行这段代码,观察立方体的旋转效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值