跳转至

Summary 计算机图形学

写在前面

这份文档是期末复习的时候,使用 Claude Code + Deepseek-V4-Pro + summarize-slides-skill 生成的总结文档,仅供参考。


计算机辅助设计与图形学 — 课程复习资料(详细版)

考核方式: 平时成绩 5% + 编程作业 45% + 考试 50%

课程: 2 学分(40 学时,其中上课 24 学时,实践 16 学时)

基于课程全部课件(Chap 1–9,共 1197 页幻灯片)整理


目录

  1. 第一章 引言
  2. 第二章 基础知识
  3. 第三章 几何建模
  4. 第四章 数字几何处理
  5. 第五章 真实感绘制
  6. 第六章 非真实感绘制
  7. 第七章 图形学方法的影像处理
  8. 第九章 计算机动画
  9. 附录:高频公式速查

第一章 引言

课程概述

  • 课程目标:了解计算机图形学的基本问题,掌握基本概念、方法与算法;初步认识相关应用和研究热点;具备一定的三维图形编程能力。(p.2)
  • 参考资料:《现代计算机图形学技术》(第二版)清华大学出版社;GAMES 在线平台。(p.3)

CG 定义与三大核心内容

计算机图形学 (Computer Graphics, CG) 是研究真实或虚拟世界的图形表示及人-机交互的交叉学科。(p.13)

  1. 建模 (Modeling):通过几何/图像/视频构造和表示物体及场景的模型。(p.14)
  2. 绘制 (Rendering):通过可视媒体呈现计算机建模的物体和场景。(p.15)
  3. 交互 (Interaction):通过I/O设备让用户操作计算机中的模型。(p.16)

CG vs CV vs 图像处理(重要考点)

领域 方向 说明
CG 模型→图像 正向生成 (p.17-19)
CV 图像→理解 逆向 (p.17-19)
图像处理 图像→图像 变换/增强/压缩 (p.19)

三者的交集区域包括:基于图像的建模与渲染(IBR)、三维重建、计算摄影学等。(p.18-19)

CG 应用领域

  • 工业设计和制造:CAD/CAE/CAM、逆向工程、3D打印 (p.6)
  • VR/AR:文化遗产数字化(圆明园再现)、虚拟培训、手术模拟 (p.7)
  • 科学研究:信息/数据/科学计算可视化 (p.8)
  • 影视媒体:VFX、三维动画、数字替身 (p.9)
  • 游戏娱乐:实时渲染、物理模拟、角色动画 (p.10)

CG 发展历史

1950s–1960s:萌芽期

年份 人物 贡献
1963 Ivan Sutherland Sketchpad——CG诞生标志,后获图灵奖(1988)和Coons奖。首次引入交互式图形编辑、约束求解。(p.25-26)
1962 Bézier Bézier曲线:参数化、仿射不变性、凸包性、插值首尾控制顶点。(p.27)

1970s:发展期

年份 人物 贡献
1971 Gouraud Gouraud着色——顶点光照后双线性插值。(p.35)
1973 Bui Tuong Phong Phong着色和光照模型——插值法向量逐像素光照。(p.35)
1974 Utah大学 B样条——分段多项式,局部支持性,de Boor递归。(p.32)
1974 Catmull 纹理映射 (Texture Mapping)。(p.36)
1978 Catmull & Clark Catmull-Clark细分曲面——任意多边形→四边形。(p.33)

1980s–1990s:成熟期

年份 人物 贡献
1979/1980 Whitted 递归光线跟踪——第一种全局照明方法。(p.37)
1985 Cohen & Greenberg 辐射度算法 (Radiosity)。(p.42)
1987 Lorensen & Cline Marching Cube——体数据等值面提取。(p.40)
1991 NURBS 成为ISO CAD工业标准。(p.44)
1995 Pixar 首部全电脑动画长片 《玩具总动员》。(p.12)
1998 Hertzmann 开创非真实感绘制 (NPR) 领域。(p.46)

深度学习时代

年份 机构 贡献
2020 UC Berkeley NeRF——MLP连续三维场景,体绘制新视角合成。(p.56)
2023 INRIA 3DGS (3D Gaussian Splatting)——三维高斯椭球体。(p.56)
2023 Apple Vision Pro(空间计算设备)。(p.57)

顶级学术资源

  • 会议:SIGGRAPH (1973,CG最高水平)、EUROGRAPHICS (1980)、IEEE VIS (p.58)
  • 期刊:ACM TOG (1982)、IEEE TVCG (1995)、CGF (p.58)

第二章 基础知识

图形与图像

  • 图形 (Graph):由点、线、面等基本几何元素作为"图元"(Primitive)构成。(p.3)
  • 图像 (Image):由像素(Pixel)构成,需通过光栅化将图形转化为图像进行屏幕显示。(p.3-4)

图形流水线 (Graphics Pipeline)

三维模型 → 模型变换视点变换投影变换光栅化 → 二维图像 (p.5-7)

几何变换

模型变换:局部坐标系 → 世界坐标系

平移 (p.11):

\[T(dx,dy,dz) = \begin{bmatrix} 1 & 0 & 0 & dx \\ 0 & 1 & 0 & dy \\ 0 & 0 & 1 & dz \\ 0 & 0 & 0 & 1 \end{bmatrix}\]

旋转——欧拉角 (p.12):\(R = R_x(\alpha) \cdot R_y(\beta) \cdot R_z(\gamma)\),按 X→Y→Z 顺序,顺序不可交换!

四元数 (Quaternion) (p.13):\(r = s + xi + yj + zk\)避免万向节锁(Gimbal Lock)

缩放 \(S(s_x, s_y, s_z)\) (p.14);错切 (Shear) (p.15)

视点变换:世界坐标系 → 眼睛坐标系

\(M_{w2e} = M_{e2w}^{-1}\),其中 \((u, v, n)\) 为眼睛坐标系主轴方向,\(e\) 为眼睛在世界坐标系中的位置。(p.20)

投影变换
  • 透视投影 (p.24-25):\(x_p/d = x/z\)\(y_p/d = y/z\)(近大远小)。分单点/两点/三点透视 (p.23)。
  • 正视投影 (p.26-27):COP在无穷远处,平行投影线。

光栅化

四个子任务:(p.30)

  1. 画线:DDA (p.31)、Bresenham算法 (p.31)、梁友栋-Barsky算法(第一个以中国人命名的CG算法)(p.32)

  2. 剔除 (Culling)

  3. 视域剔除 (View Frustum Culling):包围盒/包围球判断 (p.34-35)
  4. 遮蔽筛选 (Occlusion Culling) (p.36)
  5. 背面剔除 (Back-face Culling)\(\mathbf{n} = (\mathbf{p}_1 - \mathbf{p}_0) \times (\mathbf{p}_2 - \mathbf{p}_0)\),CCW为可见面,约剔除50% (p.38)
  6. 简并剔除 (Degenerate Culling):退化三角形 (p.39)

  7. 填充 (Filling):边缘栅格化→跨行填充 (p.40-41)

  8. 可见性判断

  9. 画家算法 (Painter's Algorithm):按深度排序,已过时 (p.43)
  10. Z-buffer算法:逐像素存储z值,保留最小——硬件友好,现代标准 (p.44)

可微绘制 (Differentiable Rendering)

端到端借助可微分梯度优化参数。(p.47) 核心难题:光栅化包含不可微操作。(p.50)

  • OpenDR:MPI研究所。图像差分算子:边界 \([0, -1, 1]\),内部 \([-\frac{1}{2}, 0, \frac{1}{2}]\)。(p.48-50)
  • Mitsuba:EPFL。迭代:初始场景→渲染→与Ground Truth对比loss→反向传播优化。(p.52-54)

GPU 架构

  • 1999年 NVIDIA GeForce 256 首次提出GPU概念 (p.59)
  • GPU:数千核心并行 vs CPU:多核心串行 (p.60-61)
  • Vertex Shader→图元装配→光栅化→Fragment Shader→帧缓存 (p.64-67)

第三章 几何建模

三种数学表达形式(重要考点)

  1. 显式 (Explicit):y=f(x)。直观但无法表示封闭形状。(p.7)
  2. 隐式 (Implicit):f(x,y)=0。易判断内外,不易生成表面点。(p.8)
  3. 参数 (Parametric)\(\mathbf{p}(u) = [x(u), y(u), z(u)]^T\)CG最常用。(p.9-12)
  4. 直线段:\(\mathbf{p}(t) = \mathbf{P}_1 + t(\mathbf{P}_2 - \mathbf{P}_1), \quad t \in [0,1]\)(高频考点!)(p.10)

三维模型三种表示

  • 线框模型 (Wireframe):仅顶点+棱边 (p.5)
  • 曲面模型 (Surface):仅外表面 (p.5)
  • 实体模型 (Solid):含内部点 (p.5)

曲线几何性质

  • 弧长 \(L = \int \|\dot{\mathbf{p}}\| \, du\) (p.13)
  • 曲率 \(\kappa = \|\dot{\mathbf{p}} \times \ddot{\mathbf{p}}\| / \|\dot{\mathbf{p}}\|^3\) (p.13)
  • 挠率 \(\tau = [\dot{\mathbf{p}}, \ddot{\mathbf{p}}, \dddot{\mathbf{p}}] / \|\dot{\mathbf{p}} \times \ddot{\mathbf{p}}\|^2\)(空间曲线特有,平面曲线 \(\tau = 0\))(p.14)
  • 曲面法向 \(\mathbf{n} = (\frac{\partial \mathbf{p}}{\partial u} \times \frac{\partial \mathbf{p}}{\partial v}) / \|\cdot\|\) (p.15)
  • 高斯曲率 \(K = \kappa_1 \cdot \kappa_2\) (p.15)

插值与拟合

  • 插值 (Interpolation):曲线严格通过所有型值点。(p.16)
  • 拟合 (Fitting):逼近但不一定通过。最小二乘。(p.16,22)
  • 关键考点:过三点插值多项式不唯一——取决于参数化方式(均匀vs弦长)!(p.19)

Hermite 曲线

给定两端点位置和切向量。(p.23-24)

基函数:\(\alpha_0 = 2t^3 - 3t^2 + 1\)\(\alpha_1 = -2t^3 + 3t^2\)\(\beta_0 = t^3 - 2t^2 + t\)\(\beta_1 = t^3 - t^2\)

\[\mathbf{p}(t) = \mathbf{p}(0)\alpha_0(t) + \mathbf{p}(1)\alpha_1(t) + \mathbf{p}'(0)\beta_0(t) + \mathbf{p}'(1)\beta_1(t)\]

Bézier 曲线

Bernstein基函数 (p.27):\(B_i^n(t) = C(n,i) \cdot t^i \cdot (1-t)^{n-i}\)

de Casteljau 递归(考试重点)(p.29):

\[p_i^r = (1-t) \cdot p_i^{r-1} + t \cdot p_{i-1}^{r-1}\]

几何意义:在线段上按比例 t:(1−t) 取内分点,n层递归得到曲线上点。

性质:插值端点、端点切向 \(\mathbf{p}'(0) = n(\mathbf{c}_1 - \mathbf{c}_0)\)、凸包性(Convex Hull)、缺乏局部可控性(改一点改全曲线,最大缺陷)。(p.28,32)

Bézier曲面 (p.31):张量积 \(\mathbf{p}(t,s) = \sum_i \sum_j \mathbf{c}_{ij} \cdot B_i^m(t) \cdot B_j^n(s)\)

B样条 (B-Spline)

de Boor-Cox递推(核心公式)(p.36):

  • \(N_i^0(t) = 1 \quad (t \in [t_i, t_{i+1}])\),否则 \(0\)
  • \[N_i^k(t) = \frac{t - t_i}{t_{i+k} - t_i} \cdot N_i^{k-1}(t) + \frac{t_{i+k+1} - t}{t_{i+k+1} - t_{i+1}} \cdot N_{i+1}^{k-1}(t)\]
  • 分母为 \(0\) 时该项为 \(0\)\(k\) 阶 = 次数 \(k-1\)

性质:保留Bezier优点、局部可控性(改一点最多影响k+1段,最大优势)、灵活拼接。(p.40)

NURBS

\[\mathbf{p}(t) = \frac{\sum \mathbf{c}_i \cdot w_i \cdot N_i^k(t)}{\sum w_i \cdot N_i^k(t)}\]
  • 权重w_i:增大→拉向控制点,减小→推离。(p.44)
  • 核心优势:可精确表示圆锥曲线(B样条只能近似)。(p.43-44)
  • 1991年成为ISO CAD工业标准。

细分曲面 (Subdivision Surfaces)

方法 年份 连续性 网格类型
Catmull-Clark 1978 C²(奇异点G¹) 任意→四边形
Doo-Sabin 1978 任意多边形
Loop 1987 C²(除特殊点) 三角形
Butterfly 1990 三角形(插值型)

三维重建

  • 被动式:基于图像/视频,安全、成本低,但对纹理/光照敏感 (p.73-74)
  • 主动式:激光/结构光/Kinect,精度高、对材质不敏感 (p.75-80)

多视角重建四步 (p.83-95):

  1. 摄像机标定\(\mathbf{x} = \mathbf{P}\mathbf{X}\)\(\mathbf{P} = \mathbf{K}[\mathbf{R} \mid \mathbf{t}]\),DLT→分解→非线性优化
  2. 三角测量:多视图对应点→三维位置
  3. SfM:光束平差法 Bundle Adjustment
  4. 立体匹配:SSD 极线约束

KinectFusion (p.118-124):深度图转换→ICP配准→体积融合→渲染 vSLAM (p.125-130):视觉里程计→回环检测→后端优化→建图

数据结构

  • CSG:元几何元素布尔操作(∪/∩/\),CSG树。(p.133-136)
  • 边界模型 (B-rep):顶点+面列表。(p.137-144)
  • 半边数据结构 (Half-edge):方向相反的半边对组成边,常量时间邻接查询。(p.140-144)
  • 体素模型 (Voxel):SDF隐式表示。(p.145-146)

第四章 数字几何处理

几何表示

  • 点云:p=(x,y,z,nx,ny,nz,...)。优点:简单、精致、拓扑无关;缺点:数据量大(≈10亿点)、无连接。(p.6-7)
  • 多边形网格:顶点+边+面,\(C^0\) 分段线性逼近。(p.8-10)
  • 欧拉-庞加莱公式 \(V - E + F = 2(1 - g)\)\(g=0\) → 球面,\(g=1\) → 环面。(p.15)
  • 流形网格:局部同胚于圆盘,每边连1-2面。(p.13)

网格去噪/平滑

形状演化 (p.27):\(\partial P / \partial t = F(P)\)\(P_{new} = P_{old} + \Delta t \cdot F(P_{old})\)

直接拉普拉斯平滑 (p.29-31):

\[P_{n+1} = P_n + \lambda \cdot \left[\frac{1}{n}\sum Q_k - P_n\right]\]

等价于最小化边长平方之和能量。缺点:对旋转敏感,网格可能收缩。

加权拉普拉斯平滑 (p.32-33):

  • 伞型权重 \(w_k = 1\)
  • 均值权重 \(w_k = [\tan(\varphi_{ij}/2) + \tan(\varphi_{ij+1}/2)] / r\)
  • 余切权重 \(w_k = \cot \alpha_{ij} + \cot \beta_{ij}\)(推荐,保特征好)

全局拉普拉斯平滑 (p.34-37):求解 \(L \cdot V = 0\)\(\text{rank}(L) = n - k\),需控制点约束。

网格简化

  • 顶点聚类:空间划分合并顶点。快但拓扑被改变。(p.42-46)
  • 渐进式网格 (Progressive Mesh):边合并+点移除。质量好、拓扑保持。(p.47-51)
  • QEM:Garland & Heckbert 1997。\(4 \times 4\) 二次误差矩阵,边折叠代价 \(= \mathbf{v}^T Q \mathbf{v}\)。(p.44,127)

网格参数化

雅可比矩阵与几何扭曲 (p.67-69): $\(\mathbf{J} = \frac{\partial \mathbf{X}}{\partial (u,v)}, \quad \mathbf{J} = \mathbf{U} \cdot [\Gamma, \gamma]^T \cdot \mathbf{V}^T\)$

  • \(\gamma = \Gamma\)保角度 (Conformal)
  • \(\gamma \cdot \Gamma = 1\)保面积 (Authalic)
  • \(\gamma = \Gamma = 1\)保长度 (Isometric)(仅可展曲面)

方法对比: | 方法 | 特点 | 类型 | |------|------|------| | 弹簧模型 | \(E = \frac{1}{2}\sum\sum D_{ij}\|t_i - t_j\|^2\) | 线性 (p.72) | | ABF | \(E = \sum(\alpha_i - \beta_i)^2\),不翻转 | 非线性 (p.80-82) | | LSCM | 离散柯西-黎曼,保角度 | 线性 (p.83-85) | | ARAP | \(E = \sum A_f[(\Gamma_f - 1)^2 + (\gamma_f - 1)^2]\) | 迭代线性 (p.86) |

球面参数化:Steinitz定理。(p.93-95)

网格编辑与形变

  • 拉普拉斯微分坐标 (p.107-108):\(\delta_i = \mathbf{v}_i - (1/d_i)\sum \mathbf{v}_j\)。方向≈法线,大小≈平均曲率。
  • 拉普拉斯网格编辑 (p.109):保持微分坐标+约束顶点位置。
  • 极分解插值 (p.120-121):\(\delta^t = \mathbf{R} \cdot \mathbf{S} \cdot \delta^s\)\(H_h = \mathbf{R}((1-h)\mathbf{I} + h\mathbf{S})\)。分别插值旋转和缩放。
  • RIMD (p.124):\(\log \mathbf{R}_i^T \mathbf{R}_j\) 实现旋转不变特征,VAE生成形变。

第五章 真实感绘制

基本概念

  • 真实感绘制:绘制的图像能像照片一样具有真实场景效果。(p.4-5)
  • 光照模型 (Illumination Model):计算物体表面任一点光强度的数学模型。(p.8)
  • 着色模型 (Shading Model):计算图像中每个像素光强度的数学模型。(p.8)
  • 局部技术:仅考虑光源+表面性质(Phong/Gouraud),快。(p.9)
  • 全局技术:模拟直接+间接照明(光线追踪/辐射度/光子映射),准确但慢。(p.10)

光源类型

  • 环境光 (Ambient):均匀散射,避免纯黑阴影。(p.15)
  • 点光源 (Point Light):各方向,反比于距离平方。(p.16)
  • 聚光灯 (Spotlight):圆锥形。(p.17)
  • 远光/平行光 (Directional):统一方向,模拟太阳。(p.18)

材质模型

五要素:反射率、透明度、吸收率、折射率、表面粗糙度。(p.20)

三种局部影响:镜面反射(Specular)漫反射(Diffuse)透射(Transmission)。(p.24)

Phong 光照模型(核心)

\[I = k_d \cdot L_d \cdot (\mathbf{l} \cdot \mathbf{n}) + k_s \cdot L_s \cdot (\mathbf{v} \cdot \mathbf{r})^\alpha + k_a \cdot L_a\]
分量 公式 说明
环境光 \(I_a = k_a \cdot L_a\) 全局均匀光照 (p.37)
漫反射(Lambert) \(I_d = k_d \cdot (\mathbf{l} \cdot \mathbf{n}) \cdot L_d\) \(\cos\theta = \mathbf{l} \cdot \mathbf{n}\),朗伯余弦定律 (p.38-39)
镜面反射 \(I_s \propto k_s \cdot L_s \cdot \cos^\alpha(f)\) \(\mathbf{r} = 2(\mathbf{n} \cdot \mathbf{l})\mathbf{n} - \mathbf{l}\)\(\alpha\) 镜面指数 (p.41-42)

Blinn-Phong 优化 (p.46-47)

中值矢量 \(\mathbf{h} = (\mathbf{l} + \mathbf{v}) / \|\mathbf{l} + \mathbf{v}\|\),用 \((\mathbf{n} \cdot \mathbf{h})^\beta\) 替代 \((\mathbf{v} \cdot \mathbf{r})^\alpha\)。优势:计算更快;远光+正交投影时 \(\mathbf{h}\) 为常数。

着色方法对比

方法 原理 特点
Flat Shading 面所有像素同色 最快最粗糙 (p.28)
Gouraud Shading 顶点颜色双线性插值 计算少,高光可能丢失 (p.29-31)
Phong Shading 法向量插值+逐像素光照 更准确,计算量大 (p.32-44)

纹理映射

  • 两步映射法:纹理→中间曲面(圆柱/球/立方体)→物体 (p.60-64)
  • 环境映射:通过反射方向采样立方体六面 (p.66-68)
  • 凹凸映射 (Bump Mapping)\(\mathbf{p}' = \mathbf{p} + d(u,v) \cdot \mathbf{n}\),仅扰动法向量不增加几何 (p.69-71)
  • 位移映射 (Displacement Mapping):实际改变顶点位置 (p.70)

光线追踪

  • 反向光线跟踪:从眼睛出发(实际使用)。(p.77)
  • Whitted递归光线跟踪:初始光线+阴影光线+反射光线+折射光线。(p.83-84)
  • \(I(P, d) = I_{direct} + I_{reflected} + I_{transmitted}\) (p.85)
  • 求交:平面/三角形/球面求交。(p.89-90)
  • 加速结构:BVH、八叉树、K-d树、BSP树——求交占>90%计算时间!(p.91-93)

辐射度量学与绘制方程

核心量

  • 辐射通量 \(\Phi\) (W)、辐照度 \(E = d\Phi/dA\)、辐射度 \(B = d\Phi/dA\) (出射) (p.110)
  • 辐射强度 \(I = d\Phi/d\omega\) (W/sr)、辐射率 \(L = d^2\Phi/(d\omega \cdot \cos\theta \cdot dA)\)(沿光路不变)(p.111-112)

绘制方程 (Kajiya 1986)——CG最重要方程 (p.114):

\[L(x \to \omega) = L_e(x \to \omega) + \int f_r(x, \omega' \to \omega) \cdot L(x \leftarrow \omega') \cdot \cos\theta \, d\omega'\]

BRDF (p.115):\(f_r = L_r / (L_{in} \cdot \cos\theta \cdot d\omega) =\) 出射辐射率/入射辐照度

离散辐射度 (p.121):\(B_i = E_i + \rho_i \sum F_{ij} \cdot B_j\) 形式因子 \(F_{ij}\) (p.127):计算占>90%时间。互易性 \(A_i \cdot F_{ij} = A_j \cdot F_{ji}\)

深度学习渲染

方法 核心思想 问题
NeRF 5D→MLP→RGB+σ,体绘制 (p.153-156) 慢(V100 1-2天)
NeuS SDF约束替换密度σ (p.157-158) 更准确表面
SNeRG 漫反射体素+镜面MLP (p.160-164) 实时渲染
Instant-NGP 哈希编码+小型MLP (p.165-167) 秒级训练
MobileNeRF 带纹理多边形网格 (p.168-171) 移动端>20fps

第六章 非真实感绘制

概述

  • NPR定义:使现实影像呈现艺术绘画效果。(p.3)
  • 与真实感区别:表现形式(复杂/特殊技巧 vs 可接受复杂度)、应用(记录真实 vs 解释说明)。(p.4-5)
  • 三大特点:突出感性信息、更有用认知信息、更具吸引力。(p.6)

笔画建模

笔画五属性:尺寸(半径)、形状(外形)、方向(走向)、颜色(色彩)、浓度(密度)。(p.11)

NPR总流程:分析→表示→笔画建模→场景绘制+用户交互。(p.12)

油画风格化六大方法

  1. 交互式:鼠标指定参数,外形为线段。(p.15-16)
  2. 半自动:梯度E(I)驱动尺寸,细节损失(高频多/低频少)。(p.17-18)
  3. 自动分层绘制:Sobel算子(边缘方向)+B样条(外形)+高斯金字塔(粗层大笔画→细层小笔画)。(p.20-22)
  4. 结合视觉显著性:K-D树组织边缘能量,各向异性笔画。(p.24-28)
  5. 结合语义结构:语义解析树(人脸→物体→区域→边缘),方向场+笔画字典。(p.29-34)
  6. 笔画迁移:Gabor多频率/方向分析→参数化→迁移。(p.35-42)

水彩画

  • 纸张:Perlin噪声(旋转不变性/能量集中/统计不变性)(p.44-45)
  • 笔画:三层Navier-Stokes流体(浅水层/附着层/扩散层)(p.46)
  • Kubelka-Munk模型:光吸收散射,分层融合。(p.48)

纹理合成 NPR

  • 图像类比 (Image Analogies):A:A'::B:B',ANN匹配(邻域相似性+一致性)。(p.63-67)

卡通风格化

  • ETF(边缘切向流):局部窗口主方向累积。(p.82)
  • DoG(高斯差分):两个σ高斯滤波差,提取显著线条。(p.84)
  • 流场双边滤波:沿ETF流场线平滑色块。(p.85)
  • 纹理/结构分层:各向异性×非周期性×局部方向性,极值包络分离,优于传统双边滤波。(p.93-101)

视频 NPR

核心挑战:帧间时空连续性,否则闪烁。(p.103)

  • 帧间光流传播:距离线性衰减浓度+光流传播笔画参数。(p.105-109)
  • 光流分层:多层 alpha 融合 \(I = \sum \alpha_l \cdot I_l\)。(p.110-118)
  • 视频体:Edison过分割+语义/物理连接→时空立方体。(p.119-123)

深度学习 NPR

神经风格迁移 (Gatys et al. 2016) (p.125-131):

  • \(L_{total} = \alpha \cdot L_{content} + \beta \cdot L_{style}\)
  • \(L_{content} = \frac{1}{2}\sum(F_{ij} - P_{ij})^2\)\(G_{ij} = \sum F_{ik} \cdot F_{jk}\)

CycleGAN (Zhu et al. 2017) (p.133-136):循环一致性,无需配对数据。


第七章 图形学方法的影像处理

图像 vs 图形

  • 图像:位图/像素。(p.2)
  • 图形:矢量图/图元。(p.2)

影像抠图 (Image Matting)

抠图方程 (p.7):\(I_z = \alpha_z \cdot F_z + (1 - \alpha_z) \cdot B_z\)\(\alpha \in [0,1]\)

病态问题:7未知量仅3方程!需引入先验。(p.8-9)

抠图方法总览: | 方法 | 核心 | |------|------| | 蓝屏抠图 | 已知 \(B_R = B_G = 0\),若 \(F_B = 0\) 依次求解 (p.11-13) | | 贝叶斯抠图 | \(\arg\max P(F, B, \alpha \mid C)\),迭代优化 (p.15-17) | | 泊松抠图 | \(\nabla I \approx (F - B)\nabla\alpha\),解 \(\Delta\alpha = \text{div}(\nabla I / (F - B))\) (p.19-21) | | 闭形式抠图 | 局部 \(\alpha_i = aI_i + b\) / 颜色线模型,\(\alpha^T L \alpha\) (p.25-28) | | 闪光抠图 | 正常+闪光双图,\(B_f \approx B\) (p.30-31) |

影像缩放

  • Seam Carving\(e(I) = |\partial I/\partial x| + |\partial I/\partial y|\),DP最优缝隙。局限:线结构扭曲。(p.38-42)
  • 网格变形:结构保持相似变换,优于Seam Carving。(p.43-48)
  • 视频缩放:3D时空图割。(p.49-54)

影像融合

  • 泊松融合\(\arg\min \iint \|\nabla f - \nabla I\|^2\),边界约束。(p.59-61)
  • MVC插值融合\(\lambda_i = w_i / \sum w_j\)。(p.63-65)

影像拼接

  • 流程:SIFT→RANSAC→单应 \(H\) → 投影。(p.77)
  • APAP:Moving DLT,\(w_i = \exp(-\|x - x_i\|^2 / \sigma^2)\)。(p.78-80)
  • SPHP:重合区单应+非重合区相似渐变。(p.82-87)
  • AANAP:局部单应线性化+全局相似混合。(p.89-92)

影像编辑

  • 颜色迁移:色相/色温直方图匹配+笔画约束。(p.113-121)
  • 编辑传播:K-D树加速(33GB/70min→45MB/13s)。(p.123-132)
  • MLS变形\(\arg\min \sum w_i |F_v(p_i) - \hat{p}_i|^2\),三种变换。(p.140-146)
  • 视频去抖:2D光流+低通 vs 3D重建+路径平滑。(p.148-154)

第九章 计算机动画

基本概念

  • 定义:连续播放画面产生连续变化的效果。(p.3)
  • 视觉暂留:约0.05~0.1秒内画面不消失。(p.5)
  • 传统技术:逐帧手绘、Cel Animation(1914)、Rotoscoping(1915)。(p.7)

传统动画12原则

  1. 挤压和伸展 (Squash and Stretch):形变表现刚度,保持体积不变。(p.13)
  2. 预期性 (Anticipation):准备→实际→完成。(p.14)
  3. 布局 (Staging):容易理解的方式展示。(p.15)
  4. 连贯动作法与关键动作法:CG中关键动作法更常用。(p.16)
  5. 跟随动作与重叠动作:动者恒动,部分接着部分运动。(p.17)
  6. 慢入和慢出 (Slow in & Slow out):加速和减速的自然规律。(p.18)
  7. 弧形动作 (Arcs):生物运动沿圆弧轨道。(p.19)
  8. 附属运动 (Secondary Action):点缀不喧宾夺主。(p.20)

关键帧插值

  • 线性插值 \(\mathbf{v}_t = (1-t)\mathbf{v}_1 + t\mathbf{v}_2\):缺点——不真实、速度不连续、Shrinkage+Kink!(p.31-32)
  • 样条插值:Hermite、Bezier、Catmull-Rom、B样条、NURBS。(p.33)
  • ARAP形变插值:极分解 \(\mathbf{M} = \mathbf{R} \cdot \mathbf{S}\),插值 \(\mathbf{R}\)\(\mathbf{S}\)\(E = \sum \|\mathbf{M}_i - \mathbf{R}_i\|^2\)。(p.40-44)

关节动画

  • DOF:根节点 6 DOF (3平移+3旋转),肩/腕/膝各3旋转。(p.49-51)
  • FK (正向运动学)\(\mathbf{P}_{end} = f(\theta_1, \dots, \theta_n)\),DFS遍历。(p.53-55)
  • IK (反向运动学)\(\boldsymbol{\theta} = f^{-1}(\mathbf{P}_{target})\)。二连杆解析解(余弦定理)。数值解 \(\Delta\boldsymbol{\theta} = \mathbf{J}^+ \Delta\mathbf{P}\),面临奇异点、病态方程、关节限制。(p.53,56-60)
  • 蒙皮 (Skinning)\(\mathbf{v}' = \sum w_i \cdot \mathbf{M}_i \cdot \mathbf{v}\)\(\sum w_i = 1\)。(p.63-64)

运动捕捉

类型 优点 缺点
主动-电子机械 实时、无遮挡 动作类型有限 (p.70-71)
主动-闪光标记 速度快、精度高 仅室内 (p.73)
被动-光学图像 速度快、设备简单 受光照影响 (p.74)

物理模拟与群体动画

  • 粒子系统 (Reeves 1983):不规则形体(云/雾/火)。不碰撞、不投射阴影、有限生命周期。(p.77-82)
  • Reynolds三原则:碰撞避免 ≻ 速度匹配 ≻ 群体合群。(p.85)
  • Flock-and-Boid:边缘个体影响大,群体可分裂合并。(p.88-90)
  • 社会力模型:恐慌下"羊群效应"。(p.91)
  • 自编码器动画:n帧×m DOF→低维流形,运动修复和插值。(p.94-96)

附录:高频公式速查

几何变换

\[P_w = M_{l2w} \cdot P_l, \quad P_e = M_{w2e} \cdot P_w, \quad M_{w2e} = M_{e2w}^{-1}\]

Bézier/B样条/NURBS

\[B_i^n(t) = C(n,i) \cdot t^i \cdot (1-t)^{n-i}\]
\[p_i^r = (1-t)p_i^{r-1} + t \cdot p_{i-1}^{r-1} \quad \text{(de Casteljau)}\]
\[N_i^k(t) = \frac{t - t_i}{t_{i+k} - t_i} \cdot N_i^{k-1}(t) + \frac{t_{i+k+1} - t}{t_{i+k+1} - t_{i+1}} \cdot N_{i+1}^{k-1}(t)\]
\[\mathbf{p}(t) = \frac{\sum \mathbf{c}_i \cdot w_i \cdot N_i^k(t)}{\sum w_i \cdot N_i^k(t)} \quad \text{(NURBS)}\]

曲线几何性质

\[\kappa = \frac{\|\dot{\mathbf{p}} \times \ddot{\mathbf{p}}\|}{\|\dot{\mathbf{p}}\|^3} \text{ (曲率)} \qquad \tau = \frac{[\dot{\mathbf{p}}, \ddot{\mathbf{p}}, \dddot{\mathbf{p}}]}{\|\dot{\mathbf{p}} \times \ddot{\mathbf{p}}\|^2} \text{ (挠率)}\]
\[\mathbf{n} = \frac{\partial\mathbf{p}}{\partial u} \times \frac{\partial\mathbf{p}}{\partial v} / \|\cdot\| \text{ (法向)} \qquad K = \kappa_1 \cdot \kappa_2 \text{ (高斯曲率)}\]

拉普拉斯平滑

\[P_{n+1} = P_n + \lambda \cdot \left[\frac{1}{n}\sum Q_k - P_n\right] \qquad w_k = \cot \alpha_{ij} + \cot \beta_{ij}\]

欧拉-庞加莱

\[V - E + F = 2(1 - g)\]

Phong/Blinn-Phong

\[I = k_d \cdot L_d \cdot (\mathbf{l} \cdot \mathbf{n}) + k_s \cdot L_s \cdot (\mathbf{v} \cdot \mathbf{r})^\alpha + k_a \cdot L_a\]
\[\mathbf{h} = \frac{\mathbf{l} + \mathbf{v}}{\|\mathbf{l} + \mathbf{v}\|}, \quad \text{用 } (\mathbf{n} \cdot \mathbf{h})^\beta \text{ 替代 } (\mathbf{v} \cdot \mathbf{r})^\alpha\]

绘制方程 (Kajiya 1986)

\[L(x \to \omega) = L_e(x \to \omega) + \int f_r \cdot L(x \leftarrow \omega') \cdot \cos\theta \, d\omega'\]

BRDF / 离散辐射度

\[f_r = \frac{L_r}{L_{in} \cdot \cos\theta \cdot d\omega} \qquad B_i = E_i + \rho_i \sum F_{ij} \cdot B_j\]

抠图方程

\[I_z = \alpha_z \cdot F_z + (1 - \alpha_z) \cdot B_z\]

泊松融合 / Seam Carving

\[\arg\min \iint \|\nabla f - \nabla I\|^2 \qquad e(I) = \left|\frac{\partial I}{\partial x}\right| + \left|\frac{\partial I}{\partial y}\right|\]

神经风格迁移

\[L_{total} = \alpha \cdot L_{content} + \beta \cdot L_{style}\]
\[L_{content} = \frac{1}{2}\sum(F_{ij} - P_{ij})^2 \qquad G_{ij} = \sum F_{ik} \cdot F_{jk}\]

NeRF 体绘制

\[C(\mathbf{r}) = \int T(t) \cdot \sigma(\mathbf{r}(t)) \cdot \mathbf{c}(\mathbf{r}(t), \mathbf{d}) \, dt \qquad T(t) = \exp\left(-\int \sigma \, ds\right)\]

FK/IK

\[\mathbf{P}_{end} = f(\theta_1, \dots, \theta_n) \qquad \boldsymbol{\theta} = f^{-1}(\mathbf{P}_{target}) \qquad \Delta\boldsymbol{\theta} = \mathbf{J}^+ \Delta\mathbf{P}\]

ARAP / 蒙皮

\[\mathbf{M} = \mathbf{R} \cdot \mathbf{S} \qquad E = \sum \|\mathbf{M}_i - \mathbf{R}_i\|^2 \qquad \mathbf{v}' = \sum w_i \cdot \mathbf{M}_i \cdot \mathbf{v}, \quad \sum w_i = 1\]

Reynolds 三原则

\[\text{碰撞避免} \succ \text{速度匹配} \succ \text{群体合群}\]

详细版复习资料整理完毕 — 覆盖课程全部 8 章内容,基于 1197 页课件幻灯片