Games 102
P2 数据拟合
拟合数据的好坏
- 分段线性插值函数,数据误差为0,只有连续。
- 光滑插值函数,数据误差为0,可能被Noice带歪,导致函数性质不好,预测而不可靠
- 逼近拟合函数,允许一定的误差
三部曲方法论
- 到那找:确定某个函数集合/空间
- 找那个:度量哪个函数是好的=确定loss
- 怎么找:求解或优化
- 如果转化为系数的方程组是欠定的(有无穷多解),则修正模型:Lasso、岭回归、稀疏正则项
多项式插值定理
- 拉格朗日多项式
- 牛顿插值多项式
- 病态问题
- 数据微笑的变化可能会导致插值结果变化较大
- 函数相互抵消
- 单项式,从低次幂到高次幂占据的重要性优先级依次下降。
- 使用正交多项式基
- 结论
- 多项式插值不稳定
- 振荡现象:多项式随着插值点数的增加而摆动
多项式逼近
- 为什么做逼近
- 数据包含噪声
- 追求更紧凑的表达
- 计算简单、更稳定
- 最小二乘逼近
函数空间及基函数
- Bernstein多项式逼近
- 基函数:
- 优势
- 正性、权性(和为1)->凸包性
- 变差缩减性
- 递归线性求解方法
- 细分性
RBF函数插值/逼近
- RBF函数的一维形式即为Gauss函数
- RBF函数
从另一个角度来看拟合函数
- Gauss拟合函数
- 一般的Gauss函数表达为标准Gauss函数的形式
- 这样就可以同时优化和
- ->
P3 参数曲线拟合
多元函数
- 二元函数的基函数构造
- 张量积形式:即两个一元函数的基函数的相互乘积来定义
- 三次张量积多项式
- 多元函数的张量积定义
- 优点:定义简单,多个医院基函数的乘积形式
- 不足:随着维度增加,基函数个数急剧增加,导致变量急剧增加(求解系统大规模急剧增加,求解代价大)
- 多元函数的神经网络表达
向量值函数(多个应变量)
- 平面参数曲线、空间参数曲线、空间参数曲面,二维映射、三维映射,降维映射(一般有信息的丢失,且不可恢复)
- 有限元分析:就是对空间中的一个微元进行变形分析
- 一般映射
- 如果,为低维映射到高维(高维的超曲面,n维流形曲面),本征维度为n(用n维参数就可以表示它)
- 如果,为降维映射,一般有信息损失,但如果中的点集正好位于一个m维(或小于m)的流形上,则映射可能是无损可恢复的。
曲线拟合
- 输入:给定平面上的系列点
- 输出:一条参数曲线,拟合这些点为一条参数曲线
- 其中
P4 三次样条函数
样条
- 为什么要成为样条函数?
- 在之前没有计算机辅助几何设计的阶段,设计师们用样条来辅助画图。
- 样条与压铁
- 样条:具有一定弹性的软木条
- 压铁:比较重的铁块,用来固定样条所经过的点
- 自由曲线
- 没有数学表述,只知道它通过一些空间点列,这类没有数学表达式的曲面或曲线称为自由曲面/自由曲线
三次样条函数
- 样条曲线的数学表达推导
- 压铁:型值点;样条:插值型曲线
- 分段3次多项式的好处
- 2次多项式无法表达拐点,不够自由
- 高次多项式拐点多,容易出现较大误差
- 三次样条函数推导(方法1)
- 假设n+1个点,则有n条线段需要拟合,每条线段需要4个变量描述,则共有4n个未知量
- n+1个点在曲线上,可以提供n+1个方程
- 曲线在型值点处连续,可以提供个方程
- 再加上两个边界条件,一共4n个方程,4n个未知量
- 可以用追赶法求三弯矩方程组。
- 边界条件:
- 自由端(指定曲线在两个端点处的二阶导数值为0)
- 夹持端(指定曲线在两个端点处的一阶导数值)
- 抛物端(指定首尾两端为抛物线)、周期端、混合边界条件
- 三弯矩方程组/三转角方程组
- 三对角矩阵
- 主对角占优
- 有唯一解
- 追赶法求解
三次基样条
三次样条曲线
- 样条函数的局限性
- 须有小扰度假定
- 不能处理多值问题
- 不能很好地表达空间曲线
- 不具有坐标不变性(几何不变性)
- 三次参数样条曲线
曲线的几何连续性
- 参数连续性
- 参数连续性的不足
- 参数连续性过于严格, 在几何设计中不太直观
- 几何连续性
- 几何连续性的具体形式
P5 Bezier曲线和B样条曲线
Bernstein基函数
- n次bernstein基函数
- example:
- 用Bernstein基函数所表达的曲线具有非常好的几何意义
- 的特性决定了曲线的特性
Bezier曲线
- Bezier曲线的性质来源于Bernstein基函数的性质(曲线是控制顶点的线性组合构成,基函数提供了组合系数)
- n次Bezier曲线:n+1个控制点
Bernstein基函数及Bezier曲线的性质
- Bernstein基函数
- 对称性:
- 最大值:在达到最大值
- 正权性:
- 正性:
- 权性:
- 可以由上两条性质推出Bezier曲线具有凸包性
- 基性
- 递推公式
- 端点插值性
- 导数
- 升阶
- Bezier曲线的端点性质
- 端点插值
- 端点的切线方向与边相同
- 段殿德2阶切线与3点相关
- De Casteljau algorithm算法
- 几何样条曲线
+
B样条曲线
- Bezier曲线的不足
- 牵一发而动全身
- 样条曲线(分段的多项式曲线/Bezier曲线)
- 分段表达,具有局部性
P6 NUMBERS
有理曲线
- Beizer曲线存在的问题:无法精确地表示圆形
- 原因:Bezier曲线是一种多项式函数
NURBS曲线
- Non-Uniform Bational B-Spline 非均匀有理B样条
- 节点向量非均匀
- 影响NURBS曲线建模的因素
- 控制顶点:用户交互的手段
- 节点向量:决定了而B样条基函数
- 权系数:影响曲线的形状,生成圆锥曲线等
细分曲线
- 受Bezier曲线的de Casteljau作图法影响,可以通过不断“割角”构造曲线
- 细分方法的思想:
- 拓扑规则(splitting):加入新点,组成新多边形
- 几何规则(averaging):移动顶点,局部加权平均
- Chaikin细分方法(逼近型:对所有顶点都移动)
- 拓扑规则:点分裂成边,老点被抛弃。新点老点重新编号
- 几何规则:新顶点是老顶点的线性组合
- 性质:极限曲线为二次均匀B样条曲线,节点处,其余点处处
- 均匀3次B样条曲线细分方法
- 插值细分方法
- 保留原来的顶点,对每条边增加一个新顶点,不断迭代,生成一条曲线
- 一般:2n点插值细分方法
- 非线性细分方法(基于双圆弧插值的曲线细分方法)
- 给定一条边,新点为插值其两端点及两端切向的双圆弧的一个连接点,也是其两端点两端切向的所确定三角形的内心.
- 每个细分步骤后调整切向.
隐式曲线
- 隐式曲面:不会告诉你任何点的信息,只告诉你曲面上的点满足的关系,可以很快的判断给定的点在曲面上或曲面内侧/外侧
- 显式曲面:所有曲面的点直接被给出,或可以通过映射关系得到
- 常见的隐式曲面:代数曲面、CSG、SDF、水平集、分型几何
- 常见的显式曲面:点云、多边形网格、参数曲面
NURBS曲面
- 参数曲面
- 张量积
- 张量积曲面
- Bezier曲面
- Trimmed NURBS曲面(表达带“洞”或非矩形边界的曲面)
- 曲面上的曲线:使用参数域上的NURBS曲线来定义,然后复合得到曲面上的曲线。
P7 曲面光顺
曲线的微分几何
曲线的光顺定义
- 一条曲线是光顺的,如果
- 它是连续的;
- 它的曲线本身拐点较少;
- 它的曲率图的拐点较少;
- 它的曲率图变化的振幅相对小
曲线的光顺方法
- 小扰度假设:转角不大于60度
- 此时曲线满足条件:KaTeX parse error: Expected group after '^' at position 2: y^̲'{x}<<1且
- 方法
- 连续
- 初光顺(定界法):降低跳跃曲率的幅度。调整控制点位置,降低曲率的跳跃幅度,删除一些不必要的拐点
- 基本光顺(卡尺法):减少第一个振动数。调整控制点位置,删除其他多余的转折点。
- 精光顺(回弹法):减少第二个振动数。检查控制点的剪切力的方向,调整剪切力的变化数字。
离散曲线处理
- 为什么要离散
- 渲染的必要性、计算的必要性、制造的必要性
- Nyquist-Shannon采样定理
- 如果一个函数x(t)不包含高于B赫兹的频率。它完全可以通过给出其在一系列的时间间隔为1/(2B)秒。
- 重心坐标(没有细讲,一带而过)
三角网格:曲面的离散表达
- 这部分没有做笔记,日常用的比较多
P9 微分坐标
3D网格曲面:二维流形曲面的离散
- Local Structure
- 局部特征度量(small-sized cells):1-邻域
- 表示了模型表面局部的光顺程度
- Laplace算子
- n维欧式空间的Laplace算子
- 定义在黎曼流形上的椭圆形算子
- Differential Coordinates(微分坐标)
- 离散形式的Laolacian算子
- 常见的权重系数
- 均衡权重:
- cotangent权重:
- normlization:
Local Laplacian Smoothing
- ,其中是每个邻居点的平均向量,是原先的点沿方向移动多少倍
- Discrete Mean Curvature Flow(离散平均曲率流)
- 其中为
- 使用平均离散曲率流能避免网格密度不均匀的曲面发生较大形变。
Global Laplacian Smoothing
曲面参数化