当前位置:硬件测评 > 曲线曲面理论

曲线曲面理论

  • 发布:2023-09-30 10:52

曲线曲面理论

1。显式、隐式和参数表示

曲线曲面的表示方程分为参数表示和非参数表示。非参数表示分为显式表示和隐式表示。

对于平面曲线,显示表示的一般形式为: y = f ( x ) y=f(x) y=f ( x)

在这个方程中,a 2值的值是对应的,所以显示的方程不能代表闭合或多值曲线

若平面曲线方程表示为 f ( x , y ) = 0 f(x,y)=0 f(x ,y )=0的形式称为隐式表示。隐式表示的好处是很容易判断一个点是否在曲线上

2。显性或隐性问题

(1)与坐标轴

有关

(2)用隐函数表达不直观,画起来也不方便

(3)用显式函数表达多个值的存在性

(4) 会出现斜率无穷大的情况

3。参数方程

为了解决2的问题,可以使用参数方程

为了克服上述问题,曲线曲面方程通常以参数的形式表示。假设 t t t 表示参数,

平面曲线上的任意点 P 可表示为: p ( t ) = [ x ( t ) , y ( t ) ] p(t)=[x(t),y(t )] p(t)=[x] (t), y(t)]

空间曲线上任意三维点P可表示为: p ( t ) = [ x ( t ) , y ( t ) , z ( t ) ] p(t)= [x(t) ),y(t),z(t)] p(t)=[] x(t),y(t) ,z(t)

等价于笛卡尔分量表示: p ( t ) = x ( t ) i + y ( t ) j + z ( t ) k p(t)=x(t)i+y(t )j+z(t)k p(t)=x( t)i+y(t)j+z(t)k

这样,给定一个 t t t值,就可以得到曲线上一点的坐标

假设该曲线段对应的参数区间为 [ a , b ] [a,b] [a,b] ,即 a ≤ t ≤ b a≤t≤b atb 。为了方便间隔,间隔 [ a , b ] [a,b] [a,b] 标准化为 [ 0 , 1 ] [0,1] [0,1],参数变换为:
t ′ = t − a b − a t'=\frac{ t-a} {b-a} t=bat −a
当取 t = a t=a t=a, t ′ = 0 t'=0 t =0, 当 t = b t=b t=b时, t ′ = 1 t'= 1 t= 1,这样就实现了区间 [ a , b ] [a,b] [a,b ] 标准化为 [ 0 , 1 ] [0,1] [0,1]

参数曲线一般可写为: p = p ( t ) , t ∈ [ 0 , 1 ] p=p(t),t\in[0,1] p=p(t),tε[0,1]

类似地,曲面可以表示为双参数 u u u v v v

的向量函数

$p(u,v)=p(x(u,v),y(u,v),z(u,v))\ \ (u,v)\in[0,1]×[ 0,1]$

最简单的参数曲线是一条直线段,其端点为 P 1 , P 2 P_1,P_2 P1,P 2的直线段​ 参数方程可表示为:
p ( t ) = p 1 + ( p 2 − p 1 ) t , t ∈ [ 0 , 1 ] p(t)=p_1+(p_2- p_1)t,\ t\in[0,1] p(t)=p1+(p2p1t, tε[0] ,1]

4。参数方程的优点

在曲线曲面的表示中,参数方程比显式和隐式方程更有优势,主要体现在:

  1. 可以满足几何不变性的要求

    是指形状的数学表示,其所表示的形状不随所采取的坐标系而变化的性质(后接 x y z xyz xyz) 坐标无关紧要,只与参数有关 t t t)

  2. 拥有更大的自由度来控制曲线和曲面的形状

    y = a x 3 + b x 2 + c x + d y=ax^3+bx^2+cx+d y=ax3+ bx2+cx+d只有 4 个系数控制曲线的形状。

    undefined

    参数表示的三维曲线是有界点集,可以写成参数化的、连续的、单值的数学函数,其形式为:
    { x = x ( t ) y = y ( t ) z = z ( t ) 0 ≤ t ≤ 1 \begin{情况} x=x(t)\\ y=y(t)\\ z=z(t)\ \end{情况} \ \ \ \ \ 0≤t≤1 \\ x=x (t)y=y(t) )z=z (t) 0t1

    p = p ( t ) t ∈ [ 0 , 1 ] p ′ ( t ) = d P d t p ′ ′ ( t ) = d 2 P d t 2 p=p(t)\ \ \ t\in[0 ,1]\\ p'(t)=\frac{dP}{dt}\ \ \ p''(t)=\frac{d^2P}{dt^2} p=p(t)tε[0,1]p(t)=dtd P p(t)=d t2d2P

    1。位置向量

    曲线上任意点的位置向量可表示为:

    p ( t ) = [ x ( t ) , y ( t ) , z ( t ) ] p(t)=[x(t),y(t),z(t)] p(t)=[x() t),y( t),z(t)]

    2。剪切矢量

    选择弧长 s s s为参数,当 Δ t → 0 \Delta t\to0 时Δt0,圆弧长度 Δ s → 0 \Delta s\to0 Δs0,但方向不能趋于 0
    T = d P d s = lim ⁡ Δ s → 0 Δ P Δ s 单位向量 T=\frac{dP}{ds}=\lim_{\Delta s\to 0}\frac{\Delta P}{\Delta s}\ \ \ 单位向量 T=dsdP=Δ s0limΔsΔP 单个矢量数量
    根据arc 长微分公式为: ( d s ) 2 = ( d x ) 2 + ( d y ) 2 + ( d z ) 2 (ds)^2=(dx)^2+(dy)^2+(dz) ^2 (ds)2=(d) x)2+(d) y)2+(dz)2

    引入参数 t t t,可重写为:
    ( d s / d t ) 2 = ( d x / d t ) 2 + ( d y / d t ) 2 + ( d z / d t ) 2 = ∣ P ′ ( t ) ∣ 2 T = d P d s = d P d t ⋅ d t d s = P ′ ( t ) ∣ P ′ ( t ) ∣ 即,T 为单位切向量 ( ds/dt)^2 =(dx/dt)^2+(dy/dt)^2+(dz/dt)^2=|P'(t)|^2\\ T=\frac{dP}{ ds}=\frac{ dP}{dt}·\frac{dt}{ds}=\frac{P'(t)}{|P'(t)|}\ \ \ 即T为单位正切矢量 (d s/dt) =(dx/dt)2+(dy/dt2+(dz /dt)2= ∣P(t )2T=dsdP =d tdPdsdt ​=P(t)P( t) T单个切割向量 金额
    |\frac{\Delta T}{\Delta s}|=\lim_{\Delta s\to0}|\ frac{T(s+\Delta s)-T(s)}{\Delta s}|=\lim_{\Delta s\to 0}|\frac{\Delta \theta}{\Delta s}|
    k=T=Δs0limΔsΔT= Δs0limΔsT(s+ Δs)T(s)=Δs →0limΔ sΔθ

    曲率愈,表示曲线的粗糙程度愈

    曲率k的倒数 ρ = 1 k \rho=\frac{1}{k} ρ=k1称为曲率半径

    曲率半径越大,圆弧越平缓,弯曲程度越平滑

    曲率半径越小,圆弧越陡,弯曲程度越陡

    4.法矢量

    法向量是与切向量垂直的支撑

    undefined

    在数学领域指的是:凸曲线和凹曲线的连接点

    对于平面曲线,相对平滑的条件为:

    ​具有二阶几何连续性 ( G 2 G^2 G2)

    ​ b.没有多余的拐点和奇异点(奇异点)

    ​ c.曲率变化小

    奇异性:是一个未定义的点,或者在特殊情况下不能完全有序,从而使该点出现在一个异常集合中。例如, f ( x ) = 1 x f(x)=\frac{1}{x} f(x)= x1 中有一个奇点(0,0),因为这里 x = 0 x=0 x=0没有意义

    6。贝塞尔曲线的定义

    给定 n + 1 n+1 n+1 控制点 P i ( i = 0 , 1 , 2 , . . . . . n ) P_i (i =0,1,2,.....n) Pi(i=0,1,2, .....n) ,然后 n n n 贝塞尔曲线 已定义为:
    p ( t ) = Σ i = 0 n P i B i , n ( t ) , t ∈ [ 0 , 1 ] ( 1 ) p(t)=\sum_{i=0} ^nP_iB_{i,n}(t),t\in[0,1] \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (1 ) p(t )=i= ΣnPiBi,n( t),tε [0,1] 在哪里? (i=0,1,undefined

    由公式 ( 1 ) (1) (1)可以看出 B e z i r Be齐尔Bez ier 函数是关于 B e r n s t e in Bernstein B 的控制点e rns t ein 基函数的加权和。 贝塞尔曲线 曲线的阶数为 n n n,需要 n + 1 n+1 n+1 顶点到定义。

    工程项目中最常用的三倍 B e z i e r 贝塞尔曲线 Bezi er 曲线,遵循两倍 Bezier 贝塞尔曲线 Bezier 曲线,高阶 B ezier 贝塞尔曲线 B ezier 曲线一般很少使用。

    一次er曲线

    undefined
    Bernstein基函数的性质:
    • 对称性: B i n ( t ) = B n − i n ( 1 − t ) B_i^n(t)=B_{n-i}^n(1-t) Bin(t)=Bnin(1t)
    • B i ( n ) ( t ) B_i^{(n)}(t) Bi(n)(t) t = i n t=\frac{i}{n} t=ni达到最大值 注:当 i = 0 i=0 i=0时,最大值在 t = 0 t=0 t=0处,当 i = n i=n i=n时,最大值在 t = 1 t=1 t=1处。
    Bezier曲线的性质:

    性质1.正权性

    • 正性(非负性)+权性

      • B i ( n ) ≥ 0 B_i^{(n)}≥0 Bi(n)0 ∀ t ∈ [ 0 , 1 ] \forall t\in[0,1] t[0,1]
      • ∑ i = 1 n B i ( n ) ( t ) = 1 , ∀ t ∈ [ 0 , 1 ] \sum_{i=1}^nB_i^{(n)}(t)=1,\forall t\in[0,1] i=1nBi(n)(t)=1,t[0,1] t t t时刻所有基函数的值相加为1

      由正性+权性(凸组合)可以推出Bezier曲线的凸包性
      样条曲线的凸包性是指其混合函数的凸包性。混合函数的凸包性定义如下: 若将混合函数解释为权重,对于参变量 t 的任意取值,所有权重的和始终为 1, 则曲线的混合函数具有凸包性。若样条曲线的混合函数具有凸包性,相对于不具备此特性的样条曲线,其局部控制更灵敏。

    性质2.基性

    性质3.递推公式

    • 基函数的递推公式

      B i n ( t ) = ( 1 − t ) B i ( n − 1 ) ( t ) + t B i − 1 ( n − 1 ) ( t ) B_i^n(t)=(1-t)B_i^{(n-1)}(t)+tB_{i-1}^{(n-1)}(t) Bin(t)=(1t)Bi(n1)(t)+tBi1(n1)(t),其中 B 0 0 ( t ) = 1 , B i n ( t ) = 0 若 i ∉ { 0 , . . . , n } B_0^0(t)=1,B_i^n(t)=0若i\notin\{0,...,n\} B00(t)=1,Bin(t)=0i/{0,...,n}

      由递推公式 C n m = C n − 1 m + C n − 1 m − 1 C_n^m=C^m_{n−1}+C^{m−1}_{n−1} Cnm=Cn1m+Cn1m1求得。公式推导详见组合数的性质

    • 高阶的基函数由2个低阶的基函数"升阶"得到

      • 利于保持一些良好的性质

    性质4.端点插值

    • B 0 n ( 0 ) = 1 , B 1 n ( 0 ) = ⋯ = B n n ( 0 ) = 0 B_0^n(0)=1,B_1^n(0)=\dots=B_n^n(0)=0 B0n(0)=1,B1n(0)==Bnn(0)=0
    • B 0 n ( 1 ) = ⋯ = B n − 1 n ( 1 ) = 0 , B n n ( 1 ) = 1 B_0^n(1)=\dots=B_{n-1}^n(1)=0,B_n^n(1)=1 B0n(1)==Bn1n(1)=0,Bnn(1)=1

    • B e z i e r Bezier Bezier曲线经过首末两个控制顶点 p 0 , p n p_0,p_n p0,pn

    性质5.导数

    B e z i e r 曲 线 的 端 点 性 质 Bezier曲线的端点性质 Bezier线

    • 端点插值: f ( 0 ) = p 0 , f ( 1 ) = p 3 f(0)=p_0,f(1)=p_3 f(0)=p0,f(1)=p3

    • 端点的切线方向与边相同: f ′ ( 0 ) = n [ p 1 − p 0 ] , f ′ ( 1 ) = n [ p n − p n − 1 ] f'(0)=n[p_1-p_0],f'(1)=n[p_n-p_{n-1}] f(0)=n[p1p0],f(1)=n[pnpn1],其中n为曲线阶数

    • 端点的2阶(k)切线与3点(k+1)相关:

      f ′ ′ ( 0 ) = n ( n − 1 ) [ p 2 − 2 p 1 + p 0 ] = 2 n ( n − 1 ) [ p 2 + p 0 2 − p 1 ] f''(0)=n(n-1)[p_2-2p_1+p_0]=2n(n-1)[\frac{p_2+p_0}{2}-p_1] f(0)=n(n1)[p22p1+p0]=2n(n1)[2p2+p0p1]

      f ′ ′ ( 1 ) = n ( n − 1 ) [ p n − 2 p n − 1 + p n − 2 ] = 2 n ( n − 1 ) [ p n + p n − 2 2 − p n − 1 ] f''(1)=n(n-1)[p_n-2p_{n-1}+p_{n-2}]=2n(n-1)[\frac{p_{n}+p_{n-2}}{2}-p_{n-1}] f(1)=n(n1)[pn2pn1+pn2]=2n(n1)[2pn+pn2pn1]

    性质6.升阶

    升阶:控制顶点变多,但是 B e z i e r Bezier Bezier曲线不变

    7、德卡斯特里奥递推算法


    三次 B e z i e r Bezier Bezier曲线有:

相关文章