Games 102

P2 数据拟合

拟合数据的好坏

  • 分段线性插值函数games101最牛的_多项式,数据误差为0,只有games101最牛的_学习_02连续。
  • 光滑插值函数games101最牛的_games101最牛的_03,数据误差为0,可能被Noice带歪,导致函数性质不好,预测而不可靠
  • 逼近拟合函数games101最牛的_学习_04,允许一定的误差

三部曲方法论

  • 到那找:确定某个函数集合/空间
  • 找那个:度量哪个函数是好的=确定loss
  • 怎么找:求解或优化
  • 如果转化为系数的方程组是欠定的(有无穷多解),则修正模型:Lasso、岭回归、稀疏正则项

多项式插值定理

  • 拉格朗日多项式
  • 牛顿插值多项式
  • 病态问题
  • 数据微笑的变化可能会导致插值结果变化较大
  • 函数相互抵消
  • 单项式,从低次幂到高次幂占据的重要性优先级依次下降。
  • 使用正交多项式基
  • 结论
  • 多项式插值不稳定
  • 振荡现象:多项式随着插值点数的增加而摆动

多项式逼近

  • 为什么做逼近
  • 数据包含噪声
  • 追求更紧凑的表达
  • 计算简单、更稳定
  • 最小二乘逼近
  • games101最牛的_Games 102_05

函数空间及基函数

  • Bernstein多项式逼近
  • 基函数:games101最牛的_Games 102_06
  • 优势
  • 正性、权性(和为1)->凸包性
  • 变差缩减性
  • 递归线性求解方法
  • 细分性

RBF函数插值/逼近

  • RBF函数的一维形式即为Gauss函数
  • games101最牛的_Games 102_07
  • RBF函数
  • games101最牛的_多项式_08

从另一个角度来看拟合函数

  • Gauss拟合函数
  • 一般的Gauss函数表达为标准Gauss函数的形式
  • games101最牛的_算法_09
  • games101最牛的_games101最牛的_10
  • 这样就可以同时优化games101最牛的_学习_11games101最牛的_算法_12
  • games101最牛的_算法_13->games101最牛的_学习_14

P3 参数曲线拟合

多元函数

  • 二元函数的基函数构造
  • 张量积形式:即两个一元函数的基函数的相互乘积来定义
  • 三次张量积多项式
  • 多元函数的张量积定义
  • 优点:定义简单,多个医院基函数的乘积形式
  • 不足:随着维度增加,基函数个数急剧增加,导致变量急剧增加(求解系统大规模急剧增加,求解代价大)
  • 多元函数的神经网络表达

向量值函数(多个应变量)

games101最牛的_算法_15

  • 平面参数曲线、空间参数曲线、空间参数曲面,二维映射、三维映射,降维映射(一般有信息的丢失,且不可恢复)
  • 有限元分析:就是对空间中的一个微元进行变形分析
  • 一般映射
  • games101最牛的_多项式_16
  • 如果games101最牛的_算法_17,为低维映射到高维(高维的超曲面,n维流形曲面),本征维度为n(用n维参数就可以表示它)
  • 如果games101最牛的_多项式_18,为降维映射,一般有信息损失,但如果games101最牛的_games101最牛的_19中的点集正好位于一个m维(或小于m)的流形上,则映射可能是无损可恢复的。

曲线拟合

  • 输入:给定平面上的系列点games101最牛的_算法_20
  • 输出:一条参数曲线,拟合这些点为一条参数曲线
  • 其中games101最牛的_Games 102_21

P4 三次样条函数

样条

  • 为什么要成为样条函数?
  • 在之前没有计算机辅助几何设计的阶段,设计师们用样条来辅助画图。
  • 样条与压铁
  • 样条:具有一定弹性的软木条
  • 压铁:比较重的铁块,用来固定样条所经过的点
  • 自由曲线
  • 没有数学表述,只知道它通过一些空间点列,这类没有数学表达式的曲面或曲线称为自由曲面/自由曲线

三次样条函数

  • 样条曲线的数学表达推导
  • 压铁:型值点;样条:插值型曲线
  • 分段3次多项式的好处
  • 2次多项式无法表达拐点,不够自由
  • 高次多项式拐点多,容易出现较大误差
  • 三次样条函数推导(方法1)
  • 假设n+1个点,则有n条线段需要拟合,每条线段需要4个变量描述,则共有4n个未知量
  • n+1个点在曲线上,可以提供n+1个方程
  • 曲线在型值点处games101最牛的_Games 102_22连续,可以提供games101最牛的_Games 102_23个方程
  • 再加上两个边界条件,一共4n个方程,4n个未知量
  • 可以用追赶法求三弯矩方程组。
  • 边界条件:
  • 自由端(指定曲线在两个端点处的二阶导数值为0)
  • 夹持端(指定曲线在两个端点处的一阶导数值)
  • 抛物端(指定首尾两端为抛物线)、周期端、混合边界条件
  • 三弯矩方程组/三转角方程组
  • 三对角矩阵
  • 主对角占优
  • 有唯一解
  • 追赶法求解

三次基样条



三次样条曲线

  • 样条函数的局限性
  • 须有小扰度假定
  • 不能处理多值问题
  • 不能很好地表达空间曲线
  • 不具有坐标不变性(几何不变性)
  • 三次参数样条曲线

曲线的几何连续性

  • 参数连续性
  • 参数连续性的不足
  • 参数连续性过于严格, 在几何设计中不太直观
  • 几何连续性
  • 几何连续性的具体形式

P5 Bezier曲线和B样条曲线

Bernstein基函数

  • n次bernstein基函数games101最牛的_games101最牛的_24
  • games101最牛的_多项式_25
  • example:
  • 用Bernstein基函数所表达的曲线具有非常好的几何意义
  • games101最牛的_学习_26的特性决定了曲线的特性

Bezier曲线

  • Bezier曲线的性质来源于Bernstein基函数的性质(曲线是控制顶点的线性组合构成,基函数提供了组合系数)
  • n次Bezier曲线:n+1个控制点
  • games101最牛的_学习_27

Bernstein基函数及Bezier曲线的性质

  • Bernstein基函数
  • 对称性:games101最牛的_算法_28
  • 最大值:games101最牛的_算法_29games101最牛的_多项式_30达到最大值
  • 正权性:
  • 正性:games101最牛的_学习_31
  • 权性:games101最牛的_多项式_32
  • 可以由上两条性质推出Bezier曲线具有凸包性
  • 基性
  • 递推公式
  • 端点插值性
  • 导数
  • 升阶
  • Bezier曲线的端点性质
  • 端点插值
  • 端点的切线方向与边相同
  • 段殿德2阶games101最牛的_games101最牛的_33切线与3点games101最牛的_学习_34相关
  • 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样条曲线,节点处games101最牛的_学习_35,其余点处处games101最牛的_games101最牛的_36
  • 均匀3次B样条曲线细分方法
  • 插值细分方法
  • 保留原来的顶点,对每条边增加一个新顶点,不断迭代,生成一条曲线
  • 一般:2n点插值细分方法
  • 非线性细分方法(基于双圆弧插值的曲线细分方法)
  • 给定一条边,新点为插值其两端点及两端切向的双圆弧的一个连接点,也是其两端点两端切向的所确定三角形的内心.
  • 每个细分步骤后调整切向.

隐式曲线

  • 隐式曲面:不会告诉你任何点的信息,只告诉你曲面上的点满足的关系,可以很快的判断给定的点在曲面上或曲面内侧/外侧
  • 显式曲面:所有曲面的点直接被给出,或可以通过映射关系得到
  • 常见的隐式曲面:代数曲面、CSG、SDF、水平集、分型几何
  • 常见的显式曲面:点云、多边形网格、参数曲面

NURBS曲面

  • 参数曲面
  • 张量积
  • 张量积曲面
  • Bezier曲面
  • Trimmed NURBS曲面(表达带“洞”或非矩形边界的曲面)
  • 曲面上的曲线:使用参数域上的NURBS曲线来定义,然后复合得到曲面上的曲线。

P7 曲面光顺

曲线的微分几何

曲线的光顺定义

  • 一条曲线是光顺的,如果
  • 它是games101最牛的_学习_37连续的;
  • 它的曲线本身拐点较少;
  • 它的曲率图的拐点较少;
  • 它的曲率图变化的振幅相对小

曲线的光顺方法

  • 小扰度假设:转角不大于60度
  • 此时曲线满足条件:KaTeX parse error: Expected group after '^' at position 2: y^̲'{x}<<1且games101最牛的_算法_38
  • 方法
  • games101最牛的_学习_35连续
  • 初光顺(定界法):降低跳跃曲率的幅度。调整控制点位置,降低曲率的跳跃幅度,删除一些不必要的拐点
  • 基本光顺(卡尺法):减少第一个振动数games101最牛的_算法_40。调整控制点位置,删除其他多余的转折点。
  • 精光顺(回弹法):减少第二个振动数games101最牛的_Games 102_41。检查控制点的剪切力的方向,调整剪切力的变化数字。

离散曲线处理

  • 为什么要离散
  • 渲染的必要性、计算的必要性、制造的必要性
  • Nyquist-Shannon采样定理
  • 如果一个函数x(t)不包含高于B赫兹的频率。它完全可以通过给出其在一系列的时间间隔为1/(2B)秒。
  • 重心坐标(没有细讲,一带而过)

三角网格:曲面的离散表达

  • 这部分没有做笔记,日常用的比较多

P9 微分坐标

3D网格曲面:二维流形曲面的离散

  • Local Structure
  • 局部特征度量(small-sized cells):1-邻域
  • 表示了模型表面局部的光顺程度
  • Laplace算子
  • n维欧式空间的Laplace算子
  • games101最牛的_学习_42
  • 定义在黎曼流形上的椭圆形算子
  • Differential Coordinates(微分坐标)
  • 离散形式的Laolacian算子
  • games101最牛的_Games 102_43
  • 常见的权重系数
  • 均衡权重:games101最牛的_games101最牛的_44
  • cotangent权重:games101最牛的_多项式_45
  • normlization:games101最牛的_学习_46

Local Laplacian Smoothing

  • games101最牛的_Games 102_47,其中games101最牛的_games101最牛的_48是每个邻居点的平均向量,games101最牛的_Games 102_49是原先的点沿方向移动多少倍
  • Discrete Mean Curvature Flow(离散平均曲率流)
  • games101最牛的_算法_50
  • 其中games101最牛的_学习_51
  • 使用平均离散曲率流能避免网格密度不均匀的曲面发生较大形变。

Global Laplacian Smoothing



曲面参数化