Loading [MathJax]/jax/output/HTML-CSS/jax.js

曲线的几何连续性

参数连续性

定义

在数学分析/高等数学中,我们所说的“连续性”(光滑性)是指“参数连续性”:

给定两条曲线x1(t)x2(t),其中x1(t)定义在[t0,t1]x2(t)定义在[t1,t2]

曲线𝒙1𝒙2t1称为Cr连续的,如果它们的从0th0阶) 至rth𝑟阶)的导数向量在𝑡1处完全相同。

  • C1:表示不连续
  • C0: position varies continuously
  • C1: First derivative is continuous across junction。即 the velocity vector remains the same
  • C2: Second derivative is continuous across junction 即 The acceleration vector remains the same

参数连续性的不足

参数连续性过于严格,在几何设计中不太直观

• 例子1:一条线段v0v1

表示为分段函数:

φ(t)={v0+v1v03t,0t1v0+v1v03+2(v1v0)3(t1),1t2

线段上的任意点应该是处处连续的。但是, φ(1)=v1v03,φ(1+)=2(v1v0)3

φ(t)t=1的左右导数不相等,因此,φ(t)[0,2]不是C1的,与直线的连续性应是C的矛盾。

❓ 问:为什么此时在t=1C1不连续
答:导数反应的是对变量的变化率,而图中两段的t是不同的变量。
因此,参数连续性依赖于参数的选择,同一条曲线,参数不同,连续阶也不同。

• 例子2:同一条线段,但对参数化方法做一些改造:

表示为分段函数:

φ(t)={v0+v1v03t,0t23v0+v1v03+(v1v0)3(t23),23t2

φ(23)=φ(23+),φ(t)[0,2]就是C了。

这个参数化方法的改造,本质是引入了参数的一个变换

t={23s,0s23,34(s23)+1,23s2.

使得原来不是C1的曲线变为C1的了。

参数连续性依赖于参数定义,无法刻画曲线本征的特性。因此引入几何连续性。

几何连续性

定义

φ(t)(atb)是给定的曲线。若存在一个参数变换t=p(s)(a1sb1), 使得φ(p(s))Cn[a1,b1],且dφ(p(s))ds0, 则称曲线φ(t)(atb)n阶几何连续的曲线,记为 φ(t)GCn[a,b]

φ(t)Gn[a,b]

把线段C1不连续变成C连续的过程就是参数变换的例子。这里只是给出定义,不提供参数变换的方法。

性质

  1. 条件 dφ(p(s))ds0保证了曲线上无奇点;

一般不考虑有奇点的情况

  1. 几何连续性与参数选取无关,是曲线本身固有的几何性质;

本征特征:不会由于曲的旋转、平移而改变的特征,例如曲率。

  1. 𝐺n 的条件比𝐺n的宽,曲线类型更多;

具体形式

𝐺0:表示两曲线有公共的连接端点,C0与的条件一致
𝐺1:两曲线在连接点处有公共的切线方向,即切线方向连续,切线长度可以不同。
𝐺2:两曲线在连接点处有公共的曲率圆,即曲率连续

曲线编辑工具。跳过

两种连续性的比较

C连续适合于动画。G连续适合于设计建模。


本文出自CaterpillarStudyGroup,转载请注明出处。 https://caterpillarstudygroup.github.io/GAMES102_mdbook/