计算机图形学 复习整理
2021-06-30 18:32:53 0 举报
AI智能生成
期末复习整理——参考书:《交互式计算机图形学》——基于WebGL的自顶向下方法
作者其他创作
大纲/内容
第六章 光照和着色
局部光照模型<br>
颜色值只取决于<br>
表面的材质属性
表面的局部几何性质<br>
光源的位置和属性
全局模型<br>
光线跟踪<br>
辐射度方法
光线与材质的相互作用可以分为三类
环境光反射<br>
漫反射<br>
镜面反射<br>
<font color="#ff0000">光源</font>
环境光<br>
均匀
点光源<br>
向所有方向发射的光线强度都相等
聚光灯<br>
只在一个小的角度范围内发射光线。<br>
远距离光源<br>
光源和表面之间的距离非常大
<b><font color="#ff0000">光照模型</font></b>
Phong光照模型
考虑了光线与材质之间的三种相互作用:<br>
环境光反射(<font color="#ff0000"><b>a</b></font>mbient light)<br>
环境光反射系数<font color="#ff0000"><span class="equation-text" contenteditable="false" data-index="0" data-equation="K_a"><span></span><span></span></span></font>
<font color="#ff0000"><span class="equation-text" contenteditable="false" data-index="0" data-equation="I_a=K_aL_a"><span></span><span></span></span></font>
漫反射(<b style=""><font color="#ff0000">d</font></b>iffuse light)<br>
漫反射系数<font color="#ff0000"><span class="equation-text" contenteditable="false" data-index="0" data-equation="K_d"><span></span><span></span></span></font>
<font color="#ff0000"><span class="equation-text" contenteditable="false" data-index="0" data-equation="I_d=K_d(I·n)L_d"><span></span><span></span></span> </font>
镜面反射(<font color="#ff0000" style=""><b>s</b></font>pecular light)
镜面反射系数<font color="#ff0000"><span class="equation-text" contenteditable="false" data-index="0" data-equation="K_s,α为高光系数"><span></span><span></span></span></font>
<font color="#ff0000"><span class="equation-text" contenteditable="false" data-index="0" data-equation="I_s=K_sL_scos^αΦ"><span></span><span></span></span></font>
<span class="equation-text" contenteditable="false" data-index="0" data-equation="I = I_a + I_d + I_s = L_a R_a + L_d R_d + L_s R_s"><span></span><span></span></span>
Blinn-Phong光照模型
半角向量<b>h</b>,<font color="#ff0000"><b>h</b>=(<b>l</b>+<b>v</b>)/|<b>l</b>+<b>v</b>|</font>
当<b>v</b>位于<b>l</b>, <b>n</b>和<b>r</b>所在的平面时,有2ψ=Φ,<br>如果把<b>r·v</b>替换成<b>n·h</b>,就无需计算<b>r</b>。<br>
<b><font color="#ff0000">多边形的着色</font></b><br>
1.均匀着色方案<br>
Mach带效应<br>
2.平滑着色方案<br>
取平均值,归一化
3.Phong着色方案
插值,再插值
指定光照参数
• 为了实现光照模型,必须首先指定一组光源和材质参数。 <br>
• 对于每一个光源,须指定其颜色、位置或者方向。 <br>
• 可以为单个光源指定其颜色的三个分量:<br>漫反射光分量、镜面反射光分量和环境光分量;<br>
• 对于点光源,还需要考虑由于对象表面与光源的距离而引起的光线强度衰减; <br>
• 通过设置聚光灯的方向、圆锥体的角度(或聚光 灯的遮光角度)、<br> 聚光灯的指数(或衰减绿), 可以将点光源转换成聚光灯。<br>
• 如果场景中有光源,可以通过自发光分量来模拟自发光光源。
第七章 离散技术
缓存(buffer)
离散的<br>
空间分辨率和深度分辨率都是有限的<br>
位平面
帧缓存<br>
在图形系统中,用于绘制任务的各种不同类型的缓存
数字图像<br>
图像
图像格式
GIF<br>
TIFF<br>
PNG<br>
PDF<br>
JPEG<br>
离散数据用途:绘制表面
两种表面建模方式
1、增加几何图元表示对象细节
2、对象简单建模(映射)
<font color="#ff0000">三种主要的映射方法</font>
纹理映射<br>
图案,纹素
凹凸映射<br>
法向量,扰动
环境映射&反射映射
反射效果
GPGPU
General Purpose Computing on GPU
第八章 从几何到像素
裁剪、光栅化和隐藏面消除
裁剪<br>
视见体<br>
裁剪体一般定义为规范化设备坐标系中的一个立方体,也可称为视见体<br>
光栅化<br>
隐藏面消除
z缓存算法<br>
深度排序和画家算法
图形绘制流水线的基本实现策略
基于<b>图像</b>空间的方法<br>
基于<b>对象</b>空间的方法
绘制几何实体4个主要任务<br>
建模<br>
几何处理<br>
光栅化<br>
片元处理<br>
线段的<font color="#ff0000">裁剪</font><br>
<font color="#ff0000">1)Cohen-Sutherland裁剪算法</font><br>
<font color="#ff0000">2)Liang-Barsky裁剪算法</font>
3)Sutherland-Hodgeman多边形裁剪算法
将线段裁剪视为一个黑盒子,<br>裁剪窗口视为4条无线长的直线相交而成的矩形对象。<br>
包围盒
最小矩形
字符的裁剪<br>
<font color="#ff0000">光栅化</font>
<font color="#ff0000">DDA算法</font>
<font color="#ff0000">BRESENHAM算法</font>
更正:e-2<span class="equation-text" contenteditable="false" data-index="0" data-equation="\triangle*x"><span></span><span></span></span>
多边形光栅化算法
判断多边形内部-外部区域最广泛使用的方法
相交测试<br>
奇偶性测试
内奇
外偶
环绕测试法<br>
可解决奇偶测试对类似于星形多边形出错的问题。
漫水(种子)填充算法
扫描线填充算法
奇偶填充算法
走样<br>
空间域走样<br>
时间域走样<br>
反走样<br>
多重采样<br>
<p class="MsoNormal"><b><span style="font-family: 宋体; font-size: 10.5pt;">超采样</span></b></p>
第十一章曲线和曲面
曲线曲面的三种主要表示
显式表示形式<br>
隐式表示形式<br>
参数表示形式
对于曲线绘制的要求
插值点
型值点<br>
Hermite曲线和曲面<br>
连续性
<font color="#ff0000"><span class="equation-text" contenteditable="false" data-index="0" data-equation="C_0参数连续"><span></span><span></span></span></font><br>
连接点参数分量相同
<font color="#ff0000"><span class="equation-text" contenteditable="false" data-index="0" data-equation="C_1参数连续"><span></span><span></span></span></font><br>
参数分量,一阶导数都相同
<font color="#ff0000"><span class="equation-text" contenteditable="false" data-index="0" data-equation="G_1参数连续"><span></span><span></span></span></font>
切线向量成比例
<font color="#ff0000">Bezier曲线曲面</font>
公式
Bezier曲线性质:<br>
(1)端点性质<br>
(2)对称性<br>
(3)凸包性<br>
(4)几何不变性<br>
Bezier曲面片
第一章 图形系统和模型
计算机图形学
生成、处理和显示<br>
建立、存储、处理<br>
理论、方法和技术<br>
图形系统6个主要元素
1.输入设备、<br>
2.<font color="#ff0000">中央处理单元(CPU)、</font><br>
3.<font color="#ff0000">图形处理单元(GPU)、</font><br>
4.存储器、<br>
5.帧缓存、<br>
6.输出设备
帧缓存<br>
深度<br>
分辨率
光栅化<br>
光栅图形<br>
物理成像系统<br>
针孔成像系统<br>
人类视觉系统<br>
<font color="#ff0000">几何绘制流水线</font><br>
顶点处理<br>
裁剪和图元组装<br>
光栅化和片元处理
第二章 图形学编程
Sierpinski镂垫的绘制<br>
绘制模式<br>
<font color="#ff0000">坐标系</font><br>
世界坐标系<br>
顶点坐标(vertex coordinate)<br>
物理设备坐标
屏幕坐标
<font color="#ff0000">图元</font><br>
几何图元<br>
图像(光栅)图元<br>
<font color="#ff0000">图形绘制API的7大类函数</font><br>
<font color="#ff0000">WebGL提供的多种类型图元属性(7种)</font>
三角形是WebGL能识别并可填充的唯一的几何实体
属性<br>
图形系统的性能
多边形被正确显示的条件
<font color="#ff0000">颜色</font>
颜色的三个要素:
色调<br>
饱和度<br>
亮度
颜色模型
加色模型<br>
减色模型<br>
• RGB颜色模型<br>
• CMY颜色模型<br>
• HSV颜色模型
第三章 交互和动画
变量<br>
Attribute<br>
Uniform<br>
Varying
函数<br>
gl.getUniformLocation()<br>
gl.uniform1f(thetaLoc, theta)
<font color="#ff0000">缓存</font><br>
单缓存<br>
<font color="#ff0000">双缓存</font><br>
过程
控制显示内容重绘速度的两种方法
• <font color="#ff0000">使用定时器</font><br>
• <font color="#ff0000">使用requestAnimFrame</font>
第四章 几何对象和变换<br>
<font color="#ff0000">标量、点和向量</font><br>
• 标量是服从一组规则的对象,例如实数。<br>
• 在三维几何空间中,点是空间中的一个位置。<br>点所具有的唯一性质就是它的空间位置。<br>数学上的点既没有大小,也没有形状。<br>点是最基本的几何对象。 <br>
• 向量是任何具有方向和大小的量。
标量场<br>
标量间运算满足封闭性、结合律、交换律和对逆函数的要求,<br>那么这些标量就构成了一个标量场<br>
<font color="#ff0000">空间</font><br>
线性空间(向量空间)<br>
维度<br>
Euclid(欧式)空间<br>
大小或者距离
仿射空间<br>
点对象
1 • P = P<br>
<b>0</b> • P = <b>0</b> (zero vector)
直线的几种表示方法<br>
显式<br>
隐式<br>
参数形式
凸包性<br>
平面的定义<br>
一个点和两个向量<br>
三个点
标架<br>
Webgl的标架
<font color="#ff0000">齐次坐标</font><br>
向量<b>v</b>=[a1 a2 a3 <font color="#ff0000">0</font>]<span class="equation-text" data-index="0" data-equation="^T" contenteditable="false"><span></span><span></span></span>
点P=[b1 b2 b3 <font color="#ff0000">1</font>]<span class="equation-text" data-index="0" data-equation="^T" contenteditable="false"><span></span><span></span></span>
向内和向外的面<br>
<font color="#ff0000">仿射变换</font>
旋转<br>
基于任一定点的旋转变换<br>
旋转矩阵
平移<br>
平移矩阵
缩放
反射变换
剪切变换
剪切矩阵
缩放矩阵
变换的级联(复合)<br>
p’= ABCp = A(B(Cp))<br>(注:右边的矩阵是首先被应用的矩阵,变换的顺序是不可交换的)<br>如果对多点进行变换,可以首先计算M=ABC,然后对每个点计算p’Mp。
第五章 观察
观察<br>
• 对象<br>
• 观察者<br>
• 投影线和投影平面
定位照相机<br>
lookAt函数<br>
模-视变换<br>
模-视变换是建模变换与观察变换的级联<br>
照相机的初始方向是指向z轴的负方向
其他观察API
飞行模拟器<br>
滚转角(roll)<br>
俯仰角(pitch)<br>
偏航角(yaw)
隐藏面消除
隐藏面消除算法<br>
对象空间算法<br>
图像空间算法
如z缓存算法
收藏
收藏
0 条评论
下一页