GAMES102几何建模与处理(三)

一、多元函数

  • 多个变量的函数
    f : R n → R 1 f:R^n \rightarrow R^1 f:RnR1
    ( x 1 x 2 ⋮ x n ) → y \left( \begin{matrix} x_1\\ x_2\\ \vdots \\ x_n \end{matrix} \right) \rightarrow y x1x2xny

1、二元函数的基函数构造

方法:张量积形式,即用两个一元函数的基函数的相互乘积来定义

2、多元函数的张量积定义

优点:定义简单,多个一元基函数的乘积形式
不足 随着维数增加,基函数个数急剧增加,导致变量急剧增加(求解系统规模急
剧增加,求解代价大)。

3、多元函数的神经网络表达

  • 用一个单变量函数 (称为激活函数)的不同仿射变换来构造 “基函数”:基函数数目可控。
    在这里插入图片描述

二、向量值函数

  • 看出单向量
    f : R 1 → R m f:R^1 \rightarrow R^m f:R1Rm
    x → ( y 1 y 2 ⋮ y m ) x \rightarrow \left( \begin{matrix} y_1\\ y_2\\ \vdots \\ y_m \end{matrix} \right) xy1y2ym
  • 看成多个单变量函数,各个函数独立无关
    • 一般会用同样的基函数(共享基函数)
  • 几何解释:
    一个实数 𝑥 ∈ 𝑅 1 𝑥∈𝑅^1 xR1映射到𝑚维空间 𝑅 m 𝑅^m Rm的一个点,轨迹构成 𝑅 m 𝑅^m Rm的一条“曲线”
    本质维度为1

1、空间参数曲线

f : R 1 ∈ R 3 f:R^1\in R^3 f:R1R3
{ x = x ( t ) y = y ( t ) z = z ( t ) ( t ∈ [ 0 , 1 ] ) \begin{cases} x=x(t)\\ y=y(t)\\ z=z(t) \end{cases} \tag{$t\in[0,1]$} x=x(t)y=y(t)z=z(t)(t[0,1])
几何解释:

  • 一条曲线由一个变量参数𝑡决定,也称为单参数曲线
  • 参数𝑡可看成该曲线的“时间”变量
  • 可灵活表达非函数型的曲线(任意曲线)

2、二维映射

f : R 3 ∈ R 3 f:R^3\in R^3 f:R3R3
{ x = x ( u , v , w ) y = y ( u , v , w ) z = z ( u , v , w ) ( ( u , v , w ) ∈ [ 0 , 1 ] 3 ) \begin{cases} x=x(u,v,w)\\ y=y(u,v,w)\\ z=z(u,v,w) \end{cases} \tag{$(u,v,w)\in[0,1]^3$} x=x(u,v,w)y=y(u,v,w)z=z(u,v,w)((u,v,w)[0,1]3)
几何解释:

  • 三维区域之间的映射
  • 可看成特殊的曲面
  • 应用:体变形,体参数化
    二维映射的应用(第三个维度始终为0):图像变形

3、降维映射(低维投影)

  • 降维映射一般有信息丢失
  • 丢失的信息大部分情况下不可逆,即无法恢复

4、映射总结

f : R n → R m f:R^n \rightarrow R^m f:RnRm

  • 如果 n < m n<m n<m,为低维到高维的映射(高维的超曲面, 维流形曲面),本征维度为n。
  • 如果 n > m n>m n>m,为降维映射
    • 一般信息有损失
    • 如果 𝑅 n 𝑅^n Rn中的点集刚好位于一个𝑚 维(或小于𝑚 )的流形上,则映射可能是无损的,即可以被恢复的

5、 低维空间的函数

在这里插入图片描述

三、曲线拟合

1、问题

输入:给定平面上系列点 ( x i , y i ) , i = 1 , 2 , ⋯   , n (x_i,y_i),i=1,2,\cdots,n (xi,yi),i=1,2,,n
输出:一条参数曲线,拟合这些点

1、问题:对数据点 ( x i , y i ) (x_i,y_i) (xi,yi),对应哪个参数 t i t_i ti

p = p ( t ) = ( x ( t ) y ( t ) ) p=p(t)= \left( \begin{matrix} x(t)\\ y(t) \end{matrix} \right) p=p(t)=(x(t)y(t))
误差度量: E = ∑ i = 1 n ∥ ( x ( t i ) y ( t i ) ) − ( x ( t ) y ( t ) ) ∥ 2 = ∑ i = 1 n ∥ p ( t i ) − p i ∥ 2 E=\sum^n_{i=1} \lVert \left ( \begin{matrix} x(t_i)\\ y(t_i) \end{matrix} \right) - \left ( \begin{matrix} x(t)\\ y(t) \end{matrix} \right) \lVert^2=\sum^n_{i=1} \lVert p(t_i)-p_i \lVert^2 E=i=1n(x(ti)y(ti))(x(t)y(t))2=i=1np(ti)pi2
求数据点所对应的参数:一个降维的问题。
然后极小化误差度量:E

2、点列的参数化

1、均值参数化

t i + 1 − t i = t_{i+1}-t_i= ti+1ti=常数
不考虑数据点的几何形状

2、弦长参数化

t i + 1 − t i = ∣ ∣ k i + 1 − k i ∣ ∣ t_{i+1}-t_i=|| k_{i+1}-k_i|| ti+1ti=ki+1ki
参数间隔与相邻控制点的距离成正比

3、向心参数化

t i + 1 − t i = ∣ ∣ k i + 1 − k i ∣ ∣ t_{i+1}-t_{i}=\sqrt{||k_{i+1}-k_i||} ti+1ti=ki+1ki

4、Foley参数化

t i + 1 − t i = ∣ ∣ k i + 1 − k i ∣ ∣ ⋅ ( 1 + 3 2 α i ^ ∣ ∣ k i − k i − 1 ∣ ∣ ∣ ∣ k i − k i − 1 ∣ ∣ + ∣ ∣ k i + 1 − k i ∣ ∣ + 3 2 α i + 1 ^ ∣ ∣ k i + 1 − k i ∣ ∣ ∣ ∣ k i + 1 − k i ∣ ∣ + ∣ ∣ k i + 2 − k i + 1 ∣ ∣ ) t_{i+1}-t_{i}= ||k_{i+1}-k_i|| \cdot (1+\frac{3}{2}\frac{\hat{\alpha_i}||k_{i}-k_{i-1}||}{||k_{i}-k_{i-1}||+||k_{i+1}-k_{i}||}+\frac{3}{2}\frac{\hat{\alpha_{i+1}}||k_{i+1}-k_{i}||}{||k_{i+1}-k_{i}||+||k_{i+2}-k_{i+1}||}) ti+1ti=ki+1ki(1+23kiki1+ki+1kiαi^kiki1+23ki+1ki+ki+2ki+1αi+1^ki+1ki)
控制多边形中角的变化
α i ^ = m i n ( π − α i , π 2 ) \hat{\alpha_i}=min(\pi-\alpha_i,\frac{\pi}{2}) αi^=min(παi,2π)
α i = ∠ ( k i − 1 , k i , k i + 1 ) \alpha_i=\angle(k_{i-1},k_i,k_{i+1}) αi=(ki1,ki,ki+1)

四、曲面参数化

  • 三维的点找二维的参数:一个降维的问题!
    应用:纹理映射

五、参考和引用

[1] bilibili:GAMES102:几何建模与处理
[2] 参数曲线拟合.pdf

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值