C-4 曲线和网格的光顺性

C-4 曲线和网格的光顺性

光顺曲线

  • 光顺与光滑并不是一个概念,光滑指的是一阶导数二阶导数连续,而光顺指的是曲线的光滑平整,比如sin的图像就非常光滑但是并不光顺,因为它凹凹凸凸,起伏不定。

  • 满足以下三个条件的曲线是光顺曲线:

    • 曲线 C 2 C^2 C2 连续;
    • 没有多余的拐点;
    • 曲率变化均匀

    可以发现上述条件中有几个并没有很好的数学定义,其实对于曲线的光顺性并没有一个非常domain的定义,大家各有各的说法。在Games102的课中,刘利刚老师介绍了几种定义,其中包括全局性和局部性的定义。我也更偏向局部性的说法,因为全局性并不能很好的描述这一概念,可能曲线很长,大多数地方的光顺就可以掩盖小部分的粗糙。

  • 更偏向光顺的数学描述是,曲线的曲率变化平稳且少有正负变化。

  • 如下图(刘利刚老师的图片),两个例子都是左边是不光顺,右边是光顺的。小黑线的长度代表着该点曲率的大小。

    在这里插入图片描述

  • 对于平面上给定的一组型值点列 P i {P_i} Pi,如果至少能够找到一条光顺的插值曲线,就称 P i {P_i} Pi是光顺的。

构造光顺曲线的方法

  • 最小二乘法

    • 在分割 Δ \Delta Δ上的三次样条函数取截断幂级数表示: S ( x ) = ∑ i = 0 3 a i x 3 + ∑ i = 1 n − 1 b i ( x − x i ) 3 S(x)=\sum ^3 _{i=0}a_ix^3+\sum^{n-1}_{i=1}b_i(x-x_i)^3 S(x)=i=03aix3+i=1n1bi(xxi)3

    • 目标函数 I = ∑ i = 0 n α i [ S ( x i ) − y i ] 2 + ∑ i = 1 n − 1 β i b i 2 I=\sum^n_{i=0}\alpha_i[S(x_i)-{y_i}]^2+\sum^{n-1}_{i=1}\beta _ib_i^2 I=i=0nαi[S(xi)yi]2+i=1n1βibi2

    • 其中 α i \alpha_ i αi, β i \beta_ i βi是人为给定的, y ( x i ) y(x_i) y(xi)是样条插值函数

      • 当所有的 α i ≠ 0 \alpha_ i \ne 0 αi=0, β i = 0 \beta_ i = 0 βi=0时,从 I = m i n I=min I=min立刻得到 S ( x i ) = y i S(x_i)=y_i S(xi)=yi, i = 0 , 1 , . . . , n i=0,1,...,n i=0,1,...,n
      • 可以发现,现在就是单纯的三次样条插值
      • 当所有的 α i = 0 \alpha_ i = 0 αi=0, β i ≠ 0 \beta_ i \ne 0 βi=0时,从 I = m i n I=min I=min立刻得到 S ( x i ) = ∑ i = 0 3 a i x 3 S(x_i)=\sum_{i=0}^3a_ix^3 S(xi)=i=03aix3, i = 0 , 1 , . . . , n i=0,1,...,n i=0,1,...,n
      • 可以发现,现在就只是一个三次函数,也就是说 [ a , b ] [a,b] [a,b],区间的整体被拟合成了一个三次函数
      • 以上两种情况是最极端的情况,一个只是单纯的三次样条插入,一个拟合成了一个整体的三次函数也就是最光顺的情况
      • 其余情况就是解那个最小二乘法的偏导数方程了

      其实可以这么理解最小二乘法,就是在拟合一条曲线尽可能的靠近给定的点,并尽可能的光顺。这条曲线就介于三次样条拟合和整体三次函数之间。

  • 能量法

    • 其基本思想与最小二乘法相同,是偏离部分和光顺部分的加权综合,不同之处在于目标函数是根据样条的能量积分得出,
    • 具体的在参考书《计算几何》里可以找到
  • 回弹法

    • 通过新老两组组型值点交替地固定和回弹,使样条的能量渐次减少,以达到光顺的目的
    • 具体操作在Games102里有讲述
  • 基样条法与圆率法

    • 当运用光顺准则到几何外形的数学放样,比方船体线型的数学放样时,有一个前提需要明确,那就是由设计部门提供的原始型值点,极大多数是好的或比较好的,一般只要修改少数型值点,便能获得一个光顺的几何外形。不难想象,在光顺过程当中,有三分之一甚至近半数的型值点需要作较多修改时,这样粗糙的原始数据还有什么实际意义

    • 基样条法和圆率法都是选点修改法,选点修改法的基础是,承认极大多数型值点是好的或比较好的,选点修改法的光顺过程就是把少数“坏点”挑出来逐个予以修正

      • 选点修改法的优点是:

        (1)坏点挑得准,好点不受损,修改的型值点少;

        (2)严格满足三条光顺准则,圆满解决了平直段小波动问题;

        (3)修改能力强,有这样的一个实例,对于孤立坏点,偏离几十米也可以一次改回来

      • 选点修改法的缺点是:当接连出现多个坏点时,往往不容易处理好,虽然也能光顺,但收敛速度就慢了

    • 具体的操作就不在这细讲了,参考书《计算几何》里就有详细的说明

光顺网格

  • 网格的光顺指网格上的每条曲线都是光顺的
  • 具体也没太搞明白,总之就是把之前的微分换成偏微分,各种方程都多了一个维度,需要在不同 维度上考虑了
  • 构造光顺网格的方法还是能量法、基样条法

我还是秉承着即学即用,即用即学的思想吧!哪天等我的项目或者小玩具需要拟合离散点并创建光顺曲线的时候,再去看具体的方法编写对应的代码比较好。这样子匆匆一撇公式和概念,终归是理解的不深刻,因此在这里不敢多写。

参考资料

  • 某一本不知出处的《计算几何》 链接:https://pan.baidu.com/s/1eOHipTyQ2A_KmCkOa7687g 提取码:6666

  • Games102的几何建模课程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值