计算机图形学笔记

基本情况

考试时间地点:

邯郸校区H4201,2022-01-04,08:30~10:30

考试形式:

课堂报告20%+Project 30%+期末闭卷考试50%

Project说明:

每人独立完成,参考文献及开发工具自选,严禁拷贝抄袭。

期末考试前打包提交源代码、程序说明、算法原理、参考文献、及可执行文件给助教。以姓名+Project1/2/3命名

Projects内容(全部都做,每题10分):

  1. 编程实现音乐节奏或旋律的可视化
  2. 编程画一个真实感静态或动画景物
  3. 创作一个Flash动画(用现成的软件,发挥艺术想象力)

tips:

  1. 主要考点在四五章,有时候说占60%有时候说占80%;其次是六七章,余下章节只占四五分。
  2. 2021-2022年期末:十道大题,没标分值,大概一题十分?
    • P1:写概念。什么是图形、图像、计算机图形学、数字图像处理、计算机视觉
    • P2:10个判断,各个章节都有,提到了OpenGL和DirectX
    • P3:10个OpenGL函数名解释
    • P4:椭圆的中点画圆法,下半弧,写算法流程,求递推式
    • P5:梁友栋算法,按PPT上的图解释
    • P6:解释插值、逼近、拟合、光顺,写出最小二乘法逼近定理
    • P7:写出Bezier的基函数、基函数的端点性质、基函数的递推关系、曲线的端点性质和几何含义、曲线的导矢性质和几何含义
    • P8:给出B样条的de Door算法递推式,画递推关系图和割角
    • P9:写出绕空间中任意轴旋转的操作步骤
    • P10:消除隐藏面的四分支树算法,画图,包围和分离的转角检查法
  3. 老师讲课完全面向考试,会直接说这个算法考/不考/怎么考,所以考试内容是比较容易了解的。笔记中和考法相关的内容都加粗了。
  4. 课堂报告推荐选SIGGRAPH论文,注意不要和ATOG混淆。期末要交PRE的PPT。
  5. 真实感景物推荐《Ray Tracing In One Weekend》,是一本非常简洁而清晰的教材。如果不想手写光追,可以考虑直接opengl调库。
  6. flash已经EOL了,但是An继承了需要的功能,从复旦信息办可以下载官方软件。

一、图形设备、系统和应用

1.1 计算机图形学的研究内容

内容:图形硬件,图形标准,图形交互技术,光栅图形生成算法,曲线曲面造型,实体造型,真实感图形计算与显示算法,以及科学计算可视化,计算机动画,自然景物仿真,虚拟现实

图像:计算机内以位图形式存在的灰度信息

图形含有几何属性,更强调场景的几何表示,是由场景的几何模型和景物的物理属性共同组成的

计算机图形学(生成图像)/数字图像处理(优化图像)/计算机视觉(认识图像)

1.2 计算机图形学的发展简史

50年代出现图形显示器。图形学处于”被动式“图形学。

50-60年代

  • MIT林肯实验室首先使用具有指挥和控制功能的CRT显示器。
  • 1962 Sutherland的博士论文提出Computer Graphics,证明交互计算机图形学是可行的、有用的研究领域。
  • 1964 Coons教授提出超限插值,通过插值四条任意的边界曲线来构造曲面。
  • 60年代早期Bezier发明贝塞尔曲线、曲面,用于几何外形设计。
  • Coons奖是计算机图形学最高奖,第一和第二届颁给Sutherland和Bezier。

70年代

  • 光栅显示器产生,光栅图形学算法迅速发展。
  • 两个重要进展:真实感图形学、实体造型技术(出现CAD技术)
  • 1974提出制定有关标准的基本规则,ACM图形标准化委员会1977、1979制定和修改了核心图形系统

80年代

  • 光线跟踪算法出现,真实感图形的显示算法逐渐成熟。
  • 超大规模集成电路发展使图形学广泛应用于各领域。

ACM SIGGRAPH会议:60年代中期发起

1.3 应用及研究前沿

计算机辅助设计与制造CAD,三维几何造型系统,科学计算可视化,图形实时绘制与自然景物仿真,计算机动画,用户接口,计算机艺术

1.4 图形设备

(硬件考试不考)

图形系统:图形处理器+图形输入设备+图形输出设备(显示器)

显示器

  • CRT显示器:高中物理题那种,偏转电子束持续击打荧光屏,靠荧光点直接发光。
    • 劣势:磁偏转的最大角度有限,显示屏越大需要显像管越长,导致显示屏体积很大。
    • 60Hz才不闪烁,85Hz以上人眼才舒服,为了补帧有隔行扫描技术。
    • 彩色显示器:荫罩式,荫栅式,点距越密集越好。
    • 产生辐射和电磁波干扰。
  • 液晶显示器(LCD):一直发光,加压才变黑,不会出现闪烁问题,成像原理是光的折射
    • 可以看到清晰图像的最大角度为可视角度
    • 主动式,被动式,区别在于背光源和偏光板的设计和方向不同
    • 点距是两个液晶颗粒之间的距离
    • 分辨率为真实分辨率,不向下兼容

图形处理器(显卡):显示主芯片GPU+显示缓存(显存)+数字模拟转换器(RAMDAC)

图形扫描仪:分辨率(300dpi起步)、颜色

二、数据接口与交换标准

(可能考几分选择题,名词解释之类的。知道每个标准最上层的含义即可,关于细节内容不要求。)

1974成立图形标准化规划委员会GSPC 提出第一个图形标准方案Core

德国GKS,后来成为国际计算机图形信息标准计算机图形核心系统

2.1 图形核心系统GKS

独立于语言的图形核心系统,定义应用程序和图形输入输出设备之间的功能接口

GKS元文件称为GKSM,是GKS用于保存信息的一种机制;GKSM为GKS设计,但是本身不是GKS的一部分,在计算机图形元文件标准CGM中规定了GKSM的内容和格式。

GKSM的格式:首尾特殊,中间是各个项。每个项也分为首部和内容。

(考过GKSM和GKS、CGM的关系)

2.2 计算机图形元文件标准CGM

提供在虚拟设备接口上存贮与传输图形信息的标准。

CGM功能类似GKSM,但是不局限于GKS生成的图形。

CGM由一套标准的与设备无关的定义图形的语法和词法元素组成。

元文件=一个元文件描述+若干逻辑上独立的画面集。

画面=一个画面描述+一个包含实际画面的画面体。

2.3 计算机图形接口标准CGI

包含图形函数库,是针对图形设备接口的交互式计算机图形标准,在用户程序和虚拟设备之间提供通信

2.4 基本图形交换规范标准IGES

主要用于CAD/CAM系统中

2.5 DXF数据接口

AutoCAD系统的图形数据文件,由于市场统治力成为事实上的数据交换标准

2.6 产品数据表达与交换标准STEP

关于产品数据计算机可理解的表示和交换的国际标准,描述产品生命周期中的产品数据

三、图形输入与交互技术

(第三章一二节没考过)

3.1 逻辑输入设备

定位设备,描画设备,定值设备,选择设备,拾取设备,字符串设备

3.2 图形输入控制

一些操作原语

set_locator_mode(ws, device_code, input_mode)

常用设备编号:键盘1,鼠标9

input_mode:

  • 请求方式(request):输入设备等待请求-遇到请求指令-进入工作,效率比较低
  • 采样方式(sample):输入设备不断产生数据存入缓冲区,程序遇到采样语句就到缓冲区去取最新输入数据
  • 事件方式(event):所有输入数据放在一个事件队列中,程序运行到事件处理语句时就从事件队列取出队首处理,队列为空则等待一定时间

3.3 交互技术

定位技术,橡皮条技术,拖拽技术,菜单技术,定值技术,拾取技术(特征点法、边界矩形法、分类法、直接法),网格与吸附

(橡皮条技术考过简答题,画图。应当看到图片想到这是什么技术,或给出图形画出某样技术变化后的结果。)

3.4 三维图形输入

3D扫描仪

四、光栅图形学

光栅显示器:一个像素矩阵

光栅图形都是具有多种颜色和灰度像素的集合,是实际图形的近似

4.1 直线段的扫描转换算法

(画直线的三个算法轮流考,中点画线法和Bresenham算法一定要写出递推的优化算法)

数值微分(DDA)法

先根据两个端点坐标求出斜率k。

x一个像素一个像素地步进,计算y并取整。为了方便可以直接每次给y加斜率k。

k>1时应将xy互换。需用浮点数。

中点画线法

k在0到1之间,仍是x步进,y只有保持或者+1两种选项。根据直线离哪个更近来选,也就是在中点上方还是下方。

$F(x,y)=ax+by+c$ 直线方程,判别式

$F(M)=F(x_p+1,y_p+0.5)=a(x_p+1)+b(y_p+0.5)+c$,结果小于0中点在下,选上面的点;结果大于0中点在上,选下面的点;等于零约定选下方。

相邻的两个判别式有递推关系,增量只可能是$a$或$a+b$。判别式初值为$a+0.5b$,由于只使用判别式的符号,可以乘2摆脱小数。

(中点画线法经常考简答题,写原理+伪代码+画图)

Bresenham算法

算直线与竖线交点到下一格的距离d,超过0.5就向上一格。

x每增加1,距离增加k,超过1就减1。

判别式e=d-0.5,和0比。可以乘2避免小数。

4.2 圆弧的扫描转换算法

圆的八对称性,只需要画1/8圆弧。

简单方程产生圆弧

利用其函数方程,直接离散计算

可以用笛卡尔坐标或极坐标

中点画圆法

x一次挪动一个像素,仍然只有两个候选的y。

判断中点是在圆内部还是外部。圆的方程,内部小于0,外部大于0。

$F(x,y)=x^2+y^2-R^2$,判别式$d=F(x_p+1,y_p-0.5)$,初值为$F(1,R-0.5)$。

仍旧可递推,增量为$2x_p+3$或$2(x_p-y_p)+5$

(一般考中点画直线4分,中点画圆10分,要解释为什么伪代码的增量是上式)

圆的Bresenham算法

$d_1=y_i^2-y^2$,$d_2=y^2-(y_i-1)^2$

$y=r^2-(x_i+1)^2$

判别式$p_i=d_1-d_2$,初值$x_i=0,y_i=r$可得$p_1=3-2r$,也可以算递推式。

椭圆的中点画线法

$F(x,y)=b^2x^2+a^2y^2-a^2b^2=0$

法向量$2b^2xi+2a^2yj$

不能八对称,只能四对称,所以要根据法向量将1/4圆弧分为两部分,决定是步进x还是y。

(因为计算量太大只考过一次)

4.3 多边形填充

多边形表示方法

顶点表示:直观,几何意义强,占内存小,易于变换,不能直接用于面着色

点阵表示:丢失几何信息,便于帧缓冲器表示图形,是面着色需要的表示形式

扫描线算法

一条扫描线的转换步骤:求交、排序、配对、着色

活性边表(AET:$x,\Delta x,y_{max}$):与当前扫描线相交的边按x坐标递增顺序存放的链表。

新边表(NET):存放在每一条扫描线新出现的边,即将边存入较低端点对应扫描线的NET

要下端点不要上端点,每条边在下端点处加入活性边表,在上端点处从活性边表删除。

(考过好几次。给图形,写出活性边表的迭代过程,还要写出扫描线的四个转换步骤。可能也要写伪代码,或解释活性边表项的内容)

边界标志算法

在帧缓冲器中对边界经过的像素打上标志,然后对每行循环每个像素填充颜色

简单暴力,计算量大,适合硬件实现

对多边形形状没有要求

种子填充算法

四联通/八联通的搜索,边界一种颜色,内部一种颜色

要求填充区域是联通的

原理简单,递归费时费内存,效率不高

种子填充的扫描线算法

从种子点向左右填充,再从两端向上下找未填充像素作为种子压栈

每个区间只需入栈一次

4.4 字符的生成

字符表达

美国信息交换标准代码集ASCII码

汉字编码国家标准字符集GB2312-80

字符最高位 0表示ASCII码,1表示汉字编码

字符表达和生成:

  • 点阵式:硬件操作快,可以加粗、旋转90度、斜体、比例缩放等,任意角度旋转比较困难
    • 黑白段压缩法:简单,还原快,不失真,压缩较差,使用不方便,用于低级文字处理系统
    • 部件压缩法:压缩比大,字型质量不能保证
    • 轮廓字型法:压缩比大,能保证质量,符合工业标准化方法
      • 采用直线或二/三次贝塞尔曲线的集合来描述一个字符的轮廓线,加上指示横宽、竖宽、基点、基线等的控制信息,采用适当的区域填充算法
      • TrueType轮廓字型技术由Apple和Microsoft联合开发。
      • 占领主要电子印刷市场的是北大方正激光照排系统。
  • 矢量式:存储空间小,美观,变换方便
  • 方向式:右为0,逆时针8方向编码;容易填入帧缓存寄存器显示,所占空间小,易放大缩小或45度旋转,但难以进行任意角度的旋转

4.5 裁剪

一般先裁剪再扫描转换

直线段裁剪

  • Cohen-Sutherland裁剪算法:九个区域,上下右左四位编码。全为0则在窗口内。端点取与看是否有1,有则完全在窗口外。否则将线段与对应窗口边界求交点,舍弃线段在区域外的部分
  • 中点分割裁剪算法:在上述算法中用中点分割算法求交,适合硬件实现和并行计算
  • 梁友栋-Barskey算法:源于线段的两点式,将线段不等式改写为$up_k\le q_k$。
    • $p_k=0$且$p_j<0$,线段在外
    • 否则$p_k<0$,线段从外到内;$p_k>0$,线段从内到外。
    • 对每个$k$,交点的$u=q_k/p_k$。$p<0$中取最大的$u$作为$u_1$(与0取max),$p>0$中取最小作为$u_2$(与1取min),$u_1>u_2$则线段完全落在裁剪窗口外

多边形裁剪

Sutherland-Hodgeman算法:每次用窗口的一条边裁剪多边形,依次将多边形各边视为有向边考虑:如果窗口和边有交点,留交点;如果终点可见,留终点。将输出的所有点连接起来。

字符串裁剪

字符串精度裁剪(外包盒box与窗边值比较),字符精度裁剪(逐个测量字符的box),像素精密裁剪(对部分留的字符每一笔划用直线剪裁法)

(经常考,给出字符,画出三种裁剪的结果)

4.6 反走样

走样:用离散量表示连续量引起的失真现象,直线段或图形边界呈锯齿状

光栅图形走样现象:阶梯状的边界,图形细节失真、狭小图形遗失

提高分辨率

依靠硬件设施,简单但不经济

区域采样

假定像素是一个具有一定面积的小区域,根据直线与像素相交面积决定亮度

面积可以用离散估计的方法

加权区域采样:给像素每个区域加权 中间权重大 124

(区域采样很可能考简答题)

五、曲线与曲面

(第五章占40分左右)

曲线和曲面的发展历史

1963 波音公司的Ferguson引入参数三次曲线

1964 MIT的Coons用封闭曲线的四条边界定义一张曲面

1971 雷诺汽车公司的Bezier发明了控制多边形定义曲线和曲面的方法。同年雪铁龙汽车公司的德卡斯特里奥也独立研发了类似的方法。

1972 德布尔给出了B样条的标准计算方法

1974 美国通用汽车公司的戈登和里森菲尔德提出了B样条曲线和曲面

5.1 曲线曲面参数表示的基础知识

非参数表示:显式表示 隐式表示

参数表示:可以满足几何不变性的要求,自由度更大,易于用矢量和矩阵运算,便于向高维空间扩展

位置矢量 切矢量 法矢量

位置矢量

切矢量 $T=P’(t)/|P’(t)|$

法矢量

  • 主法矢$N=B*T$ 副法矢$B=\frac{P’(t)*P’’(t)}{|P’(t)*P’’(t)|}$
  • 法平面 T=NxB 密切平面 B=TxN 从切/化直平面 N=BxT

曲率和挠率

曲率:T的夹角比弧长,衡量弧的弯曲程度,越大越弯 $k=|P’(t)*P’’(t)|/|P’(t)^3|$

曲率半径:曲率的倒数

挠率:副法矢量的夹角比弧长,衡量曲线是否保持在一个平面里

(以上五个量对计算和推导过程都不要求,选择题可能考概念)

参数曲面的定义

参数曲面片,角点,边界线,切矢,偏导矢,跨界切矢,扭矢

球面写法

双三次参数曲面的代数形式

简单回转面:一条由$[x(u),z(u)]$定义的曲线绕z轴旋转

直纹面(动直线):单叶双曲面,双曲抛物线(马鞍面),切线曲面

(给出几种曲面的图,要能选出它的名称)

插值 逼近 拟合 光顺

(70-80%的概率会考)

插值:构造曲线顺序通过给出的有序数据点(线性插值,二次插值)(要会计算)

逼近:不一定经过已知点,用最小二乘法判定(要写出差的平方和、偏导为0)

拟合:统称插值或逼近

光顺:拐点(导数变号)不能太多,要求曲率变化较小,具有二阶几何连续性

参数化

对型值点参数化

均匀参数化

累加弦长参数化

向心参数化法

修正弦长参数化法

参数区间的规格化

参数曲线的代数和几何形式

(很可能考,要现场算并粗略地画出调和函数的形状,6分简答题)

用$P(0),P(1),P’(0),P’(1)$表示出参数$a_0、a_1、a_2、a_3$,把代数形式改写为几何形式

$F_0、F_1、G_0、G_1$称为调和函数,也即几何形式中$P_0、P_1、P’_0、P’_1$的系数

调和函数的性质:$F_i(j)=G’i(j)=\delta{ij},F_i’(j)=G_i(j)=0$

连续性

(考简答题,要会写对应的式子)

$G_0$连续和$C_0$连续:含义相同,表示两曲线在结合处位置连续 $Q(0)=P(1)$

$G_1$连续:$G_0$连续并有方向相同但大小不同切矢 $Q’(0)=aP’(1)\ \ a>0$

$C_1$连续:$G_0$连续且切矢方向大小均相同 $Q’(0)=P’(1)$

$G_2$连续:$G_1$连续且有同向曲率矢 $P’(1)*P’’(1)/|P’(1)|^3=Q’(0)*Q’’(0)/|Q’(0)|^3$

$C_2$连续:$G_1$连续且有相同曲率矢 $Q’’(0)=\alpha^2P’’(1)+\beta P’(1), \alpha=1,\beta=0$

5.2 Bezier曲线与曲面

(Bezier和B样条是最重要的两节,据说各至少占20分)

Bezier曲线的定义和性质

由一系列控制点(折线集/Bezier特征多边形)来定义

Bezier曲线起点、终点与多边形重合,起点与终点的切线方向和特征多边形第一条边及最后一条边的走向一致

各点坐标的插值公式:$p(t)=\sum_{i=0}^nP_iB_{i,n}(t)$,相当于特征多边形的顶点加权求和

Bernstein基函数:$B_{i,n}(t)=C_n^it^i(1-t)^{n-i}$

Bernstein基函数的性质

(要求能现场推导)

正性:在端点为0,在其他点为正

端点性质:$B_{i,n}(0)$在$i=0$时为1,其他值都为0;$B_{i,n}(1)$在$i=n$时为1,其他值都为0,表示Bezier曲线的两端只与特征多边形的端点有关

权性:由二项式定理,对某个给定的$t$,枚举所有$i$,所有基函数加和恒为1

对称性:$B_{i,n}(t)=B_{n-i,n}(1-t)$

递推性:$B_{i,n}(t)=(1-t)B_{i,n-1}(t)+tB_{i-1,n-1}(t)$

导函数:$B’{i,n}(t)=n[B{i-1,n-1}(t)-B_{i,n-1}(t)]$

最大值:$t=i/n$处达到最大值

升阶公式、积分

Bezier曲线的性质

端点性质:Bezier曲线的起点、终点与特征多边形的起点、终点重合

一阶导矢与切矢量:$P’(t)=n\sum_{i=0}^nP_i[B_{i-1,n-1}(t)-B_{i,n-1}(t)]$,所以$P’(0)=n(P_1-P_0)$,$P’(1)=n(P_n-P_{n-1})$,Bezier曲线起点和终点处的切线方向与特征多边形第一条边和最后一条边走向一致

二阶导矢与曲率:$P’’(t)=n(n-1)\sum_{i=0}^{n-2}(P_{i+2}-2P_{i+1}+P_i)B_{i,n-2}(t)$,r阶导矢只与r+1个相邻点有关

k阶导可差分递推

对称性:说明Bezier曲线的形状只依赖于控制点

凸包性:Bezier曲线落在控制点构成的凸包中

坐标不变性、仿射不变性

变差缩减性:平面内任意直线与Bezier曲线的交点个数不多于直线与特征多边形的交点个数,反映曲线比特征多边形波动小,更光顺

Bezier曲线的矩阵表示

(一次二次要求计算,三次不要求)

先用代数形式求出C(t),再用矩阵表示

一次曲线是连接起点和终点的直线段

二次曲线是起点在P0终点在P2的抛物线

工程中常用的是二、三次的Bezier曲线

Bezier曲线的递推算法

抛物线三切线定理

n次Bezier曲线可以由两个n-1次Bezier曲线求出

$P_i^k(t)=(1-t)P_i^{k-1}(t)+tP_{i+1}^{k-1}(t)$

几何作图实现(此处看PPT的76页的图容易理解)

(考试给出t,要求画图)

Bezier曲线的拼接

连接处三点共线达到$G_1$连续,$a=1$则$C_1$连续

满足上述条件且连接处五点共面则$G_2$连续,$a=1,\beta = 0$则$C_2$连续

Bezier曲线的升阶与降阶

Bezier曲面

5.3 B样条曲线

Bezier曲线的不足:没有局部性,拼接较复杂

B样条曲线方程的定义和性质

$P(t)=\sum_{i=0}^nP_iN_{i,k}(t)$

$N_{i,k}(t)$称为$k$阶B样条基函数(调和函数),采取递推定义

每个B样条只和支撑区间内的节点有关

B样条基函数的性质

局部支撑性:$N_{i,k}(t)$只在$[t_i,t_{i+k}]$区间内大于等于0

权性

B样条曲线类型的划分

开曲线,闭曲线(周期闭曲线,非周期闭曲线)

均匀B样条曲线,准均匀的B样条曲线,分段Bezier曲线,非均匀B样条曲线

B样条曲线的性质

局部性

连续性

凸包性,变差缩减性

分段参数多项式,导数公式

几何不变性,仿射不变性

直线保持性

造型灵活性

均匀B样条曲线的矩阵表示

(要求算二次曲线,给出矩阵,乘开带入求端点、一二阶导并绘图,15分)

(三次B样条也考过,比较麻烦。指望现场算不如背结论了)

二次B样条:端点在第一条边中点;端点处切线(一阶导)与边矢量重合,节点处一阶导连续;曲线的二阶导矢量等于前两条边矢量形成的对角线矢量

三次B样条:端点在前两边夹对角线的1/6处;一阶导矢量平行1、3点之间矢量且模长为一半,节点处一阶导相同;二阶导矢量等于前两条边矢量形成的对角线矢量,二阶导连续

de Boor算法

递推B样条基函数,割角

(给出递推公式,考画递推三角形和画示意图)

节点插入算法

B样条曲面

(考试没什么考的)

5.4 NURBS曲线与曲面

B样条曲线适于设计自由型曲线,但是不适于设计初等曲线

NURBS是非均匀有理B样条方法,在B样条的基础上增加了一个吸引力权重

性质和B样条曲线类似,只有一些权重相关的新性质

NURBS可表示圆锥曲线,$w_1^2/(w_0w_2)$为形状因子,0为直线段,0到1之间为椭圆,1为抛物线,大于1为双曲线

(要把形状因子的大小和图形对应起来)

5.5 Coons曲面

构造插值曲面,先定边界

双线性Coons曲面

给定四条在空间围成封闭曲边四边形的参数曲线

从两个方向插值出两个直纹面,再以两条直线段为边界构造直纹面

$P(u,v)=P_1(u,v)+P_2(u,v)-P_3(u,v)$

(考了很多次,给出图,写P1、P2、P3和矩阵,10分)

双三次Coons曲面

构造光滑的Coons曲面,给点边界的跨界切矢

(之前没考过,今年可能考,写出P1和P2)

六、图形变换

6.1 数学基础

6.2 几何变换

窗口区到视图区的坐标变换

二维齐次坐标变换

1
2
缩放/旋转/对称/错切  平移 
投影 整体缩放

(经常考错切)

三维齐次坐标变换

(经常考绕空间中任意轴旋转)

6.3 图形的投影变换

三视图,正平行投影

(画三视图考过简答题)

斜平行投影

(给图片,算斜平行投影公式)

透视:一点透视投影,两点透视投影,三点透视投影

七、真实感图形学-消隐

(每年考试都有一道题,10分)

消除隐藏线

消除隐藏面

V*N<0 前向面

V*N>0 后向面

画家算法(列表优先算法)

检验深度优先级表中相邻面的顺序

深度重叠判断,投影重叠判断

Z缓冲区算法

不断刷新每个像素的颜色和深度

简单,但是占用空间非常大

每个像素的深度可以用增量方法加速

区间扫描线算法

按扫描线来处理

区域子分割算法

分割到至多只有一个多边形在最前方

转角检查法 ,正负8说明多边形包含窗口,0说明分离

光线投射算法

对屏幕上每个像素,投出射线与每个物体求交,显示最近交点所属颜色的像素

八、虚拟现实技术简介

(八九章基本不考)

九、OpenGL图形开发环境+DierctX概述


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!