0

曲面参数化概述

 2 years ago
source link: https://blog.scubot.com/article/45ef/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

对于如何确定本篇文章的内容涵盖范围这个问题,我想了很久,最终打算从最基本的什么是形状(shape) 这个问题谈起。

形状的本质

在拓扑相关的理论中,形状是指n−1维流形(manifold)在n维流形中的嵌套。

流形是连续的,详细的定义也较为复杂,可以从以下两点来辅助理解流形的概念:

  1. n 维流形的局部与 Rn 等价,例如:曲面(二维流形)的局部是二维平面。
  2. 对流形进行网格剖分,得到的离散流形除去边缘边之外,其他边有且仅有两个面与之相邻。

所以我们可以认为,在 Rn 或更高维欧式空间中观测不同 n−1维流形的嵌套,就是在观测不同的形状。


更严谨的,对于一个向量函数,可以表达为 f:Rn↦Rm.

我们令 →x=(x1,…,xn)T∈Rn, →y=(y1,…,ym)T∈Rm,故:

→y=f(→x)⟹{y1=f1(x1,…,xn)yi=fi(x1,…,xi)ym=fm(x1,…,xi)

假设 f 是可微的,在自变量任意一点的邻域中,我们有(一阶泰勒展开):

{Δy1=∂f1∂x1Δx1+⋯+∂f1∂xjΔxj+⋯+∂f1∂xnΔxnΔyi=∂fi∂x1Δx1+⋯+∂fi∂xjΔxj+⋯+∂fi∂xnΔxnΔy1=∂fm∂x1Δx1+⋯+∂fm∂xjΔxj+⋯+∂fm∂xnΔxn

写成矩阵形式

(Δy1…Δyi…Δym)=(∂f1∂x1…∂f1∂xj…∂f1∂xn……………∂fi∂x1…∂fi∂xj…∂fi∂xn……………∂fm∂x1…∂fm∂xj…∂fm∂xn)(Δx1…Δxj…Δxn)

中间的系数矩阵就是m×n的雅克比(Jacobian)矩阵,简化写作: Δ→y=Jm×nΔ→x

观察映射f的雅可比矩阵:

  • 矩阵中第 i 行 表述为第 i 个映射 fi:Rn↦R 的梯度(gradient) ∇fi=(∂fi∂x1,…,∂fi∂xj,…,∂fi∂xn)

  • 矩阵中第 j 列 表述为映射沿 xj 方向的切向量(tangent vector) d(→y)dxj=(∂f1∂xj,…,∂fi∂xj,…,∂fm∂xj)T

    也可以理解为一个一维流形: R↦Rm

对不同 n 和 m,Δ→y=Jm×nΔ→x 可以表述不同含义,总体上:

  • 若 m>n ,因变量维度比自变量维度大,那么以上公式表述了低维流形在高维空间中的嵌套,即形状。
  • 若 m<n ,因变量维度比自变量维度小,那么以上公式表述的是高维流形向低维空间的投影。
  • 若 m=n ,则是表述的线性变换,例如旋转、缩放。

值得注意的是,→y=f(→x) 在局部等价于 Δ→y=Jm×nΔ→x,而后者可以表述线性变换,前者通过与后者局部等价,可以表述非线性变换。

m n presents
1 1 数到数的映射
2 1 平面上的曲线
1 2 二元函数;灰度图;二维流形向一维空间的投影
2 2 线性变换:旋转、缩放、剪切

对形状有更深的理解之后,我们再来讨论二维流形。

为什么是二维流形?

因为人类只能在三维空间中去观察,故能直接观察到的最复杂的形状就是二维流形在三维空间中的嵌套,故着重研究二维流形是有意义的。

并不是所有图形都是流形,但是非流形都可以通过局部流形的拼接表述出来,所以我们只关注流形的特性。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK