banner
NEWS LETTER

GAMES102-07-曲线光顺&离散曲线&三角网格

Scroll down

Lecture 07 Mesh

光滑(Smooth)曲线:

  • 连续曲线:参数连续性(看导数)
    • 光滑:高阶连续
  • 几何曲线:
    • 与参数化无关,更刻画了曲线形状的本征光滑性
    • 更适合交互式曲线设计

光顺曲线(Curve fairing):

image-20241115095218155

  • 左边光顺右边不光顺(从微观角度上去区分)

  • 光顺没有一个统一的数学定义

    image-20241115095820105

曲线的曲率:

image-20241115095550106

  • 从宏观上看两条曲线一致,但从微观上两条曲线的曲率完全不同

对光顺的一些观察:

image-20241115100311642

曲面光顺的新定义:

一条曲线是光顺的,如果

  • 它是 C{1+l} ( l > 0 )连续的
  • 它的曲线本身拐点较少
  • 它的曲率图的拐点较少
  • 它的曲率图变化的振幅相对小

曲线的光顺方法:

  • 初光顺——定界法
  • 基本光顺——卡尺法
  • 精光顺——回弹法

曲面的光顺也无严格定义,在工业界叫Class A曲面

实现方法:

  • 三向曲线光顺
  • 能量法

离散曲线

曲线(形状)的不同表达方法:

image-20241115101240020

  • 几何迭代法(渐进迭代逼近) (progressive‐iterative approximation, PIA)

image-20241115101419255

从连续到离散:

  • 对象的表达
    • 在数学上,连续表达与计算
    • 在计算机中,离散表达与计算
  • 数值方法:数值微分、数值积分、数值优化
    • 数值分析:离散计算对精确计算的近似程度
    • Fourier分析/变换:离散Fourier分析/变换
    • 卷积(滤波)
  • 在计算机科学(计算机图形学)中,采样无处不在
    • 计算机只能表达离散的数值
    • 例子:int型的数据(量化)

曲线的离散化:将连续性表达转化为多边形表达(分段线性)

image-20241115101555710

为何要离散化?

  • 渲染的必要性
    • 算法和硬件:线段/圆的光栅
  • 计算的必要性
    • 直线求交、多项式求根
  • 制造的必要性
    • 刀具轨迹只能走直线段和圆弧

曲线的离散:采样

image-20241115101712557

Bezier曲线的离散定理:

image-20241115101730273

离散曲线的几何量的计算:

  • 如果有连续表达,利用连续表达的曲线来计算
  • 如无连续表达
    • 差分法:利用差分形式来近似微分属性
    • 拟合法:利用光滑函数来拟合估计属性
  • Tylor展开及估计

重心坐标:一种用于描述空间中点的位置的方法,特别是在多边形或多面体内部,即描述内部点与边界点(控制顶点)之间的关联关系。

image-20241115101931225

重心坐标的应用:

image-20241115102222067

各种重心坐标的计算方法:

image-20241115102242406

三角网格

绘制:离散表达

  • 曲线的绘制:
    • GDI/OpenGL 绘制基本单元:点、线段
    • 曲线须离散成多边形
  • 曲面的绘制:
    • OpenGL 绘制基本单元:点、线、三角形
    • 曲面须离散成三角形网格

image-20241115102446508

流形(Manifold):流形是一个局部类似于欧几里得空间的拓扑空间。具体来说,一个流形满足以下条件:

  1. 拓扑空间:流形是一个拓扑空间,这意味着它具有开集、闭集等拓扑结构。
  2. 局部欧几里得性:在流形的每个点附近,都存在一个开集,这个开集与欧几里得空间中的开集同胚(即存在连续的双射,其逆也是连续的)。
  3. 维度:流形具有固定的维度,即在每个点的邻域内,它都与相同维度的欧几里得空间同胚。

流形的例子包括:

  • 平面、球面、环面等几何体。
  • 地球表面,尽管地球是一个三维空间中的球体,但在局部范围内,地球表面可以被看作是一个二维流形。
  • 某些复杂的几何形状,如莫比乌斯带,也是二维流形。

非流形(Non-manifold):非流形是指不满足流形定义的空间。它们可能在某些点或区域不具有局部欧几里得性质,或者在不同点的邻域具有不同的维度。非流形的例子包括:

  1. 具有边界的空间:例如,一个开放的立方体(不包括其边界)是一个三维流形,但如果包括边界,它就不再是流形,因为边界点不满足局部欧几里得性质。
  2. 具有奇点的空间:例如,一个圆锥在顶点处不满足流形的定义,因为顶点处的邻域不与任何欧几里得空间同胚。
  3. 不规则形状:某些不规则或分形形状可能在某些区域不满足流形的条件。

区别:

  • 局部性质:流形在每个点的邻域内都具有与欧几里得空间相同的局部结构,而非流形可能在某些点或区域不具有这种结构。
  • 维度一致性:流形在整个空间中具有一致的维度,而非流形可能在不同区域具有不同的维度。
  • 拓扑结构:流形具有更严格的拓扑结构要求,而非流形可能在拓扑上更加复杂或不规则。

往后提的处理都是针对流形的,如果存在非流形就把它去掉

定义一个网格:

image-20241115103209237

存储网格有很多方式,可以直接用成熟的框架

用的最多的结构是半边(half-edge)数据结构

其他文章
cover
GAMES102-08-离散微分几何
  • 24/11/21
  • 20:06
  • GAMES102课程笔记
cover
《视觉SLAM十四讲》读书笔记
  • 24/11/13
  • 21:24
  • 读书笔记
目录导航 置顶
  1. 1. Lecture 07 Mesh