平面PH曲线的构造及其相应性质
平面PH曲线的构造及其相应性质
过渡曲线常需要满足在连接点处位置连续、曲率连续以及切线方向向量连续的三个条件。关于过渡曲线的构造,前文已经总结了Béizer曲线和多项式曲线,本文主要对PH曲线构造的相关问题进行分析总结。
1 PH曲线理论
定义:若平面n次贝塞尔曲线P(t)=(x(t),y(t))的速端曲线具有PH性质,则称它为n次PH曲线。即存在多项式σ(t),使得 x ′ 2 + y ′ 2 = σ 2 ( t ) x^{'2}+y^{'2}=\sigma^2(t) x′2+y′2=σ2(t) 则称多项式P(t)为n次PH曲线。
贝塞尔曲线方程表达形式为:
P
(
t
)
=
∑
j
=
0
n
p
j
B
j
n
(
t
)
,
0
≤
t
≤
1
P(t)=\sum_{j=0}^n p_j B_j^n (t) , 0≤t≤1
P(t)=j=0∑npjBjn(t),0≤t≤1其中伯恩斯坦基函数的形式为:
B
j
n
(
t
)
=
C
n
j
(
1
−
t
)
n
−
j
t
j
,
0
≤
t
≤
1
B_j^n(t)=C_n^j(1-t)^{n-j}t^j , 0≤t≤1
Bjn(t)=Cnj(1−t)n−jtj,0≤t≤1
关于贝塞尔曲线的求导,参考知乎上的一篇文章,我在文末会放上参考网址。
贝塞尔曲线在 t 处的一阶导数为:
C
′
(
t
)
=
∑
i
=
0
n
−
1
p
i
(
1
)
B
i
,
n
−
1
(
t
)
C^{'}(t)=\sum_{i=0}^{n-1} p_i^{(1)} B_{i,n-1}(t)
C′(t)=i=0∑n−1pi(1)Bi,n−1(t)
p
i
(
1
)
=
n
(
p
i
+
1
−
p
i
)
p_i^{(1)}=n(p_{i+1}-p_i)
pi(1)=n(pi+1−pi)
2 三次PH曲线的构造及性质
设三次Bezier曲线为
P
(
t
)
=
∑
j
=
0
3
P
j
B
j
3
(
t
)
,
0
≤
t
≤
1
P(t)=\sum_{j=0}^3 P_jB_j^3 (t) , 0≤t≤1
P(t)=j=0∑3PjBj3(t),0≤t≤1
2.1 x’(t)和y’(t)的形式验证
为确保P(t)为一个PH曲线,定义x‘(t)和y’(t)的形式如下:
x
′
(
t
)
=
w
(
t
)
[
u
2
(
t
)
−
v
2
(
t
)
]
x^{'}(t)=w(t)[u^2(t)-v^2(t)]
x′(t)=w(t)[u2(t)−v2(t)]
y
′
=
2
w
(
t
)
u
(
t
)
v
(
t
)
y^{'}=2w(t)u(t)v(t)
y′=2w(t)u(t)v(t)
其中,w(t)=1
u
(
t
)
=
u
0
b
0
1
(
t
)
+
u
1
b
1
1
(
t
)
u(t)=u_0b_0^1(t)+u_1b_1^1(t)
u(t)=u0b01(t)+u1b11(t)
v
(
t
)
=
v
0
b
0
1
(
t
)
+
v
1
b
1
1
(
t
)
v(t)=v_0b_0^1(t)+v_1b_1^1(t)
v(t)=v0b01(t)+v1b11(t)
代入Bernstein系数,因此有,
因此验证得:
x
′
(
t
)
=
[
u
2
(
t
)
−
v
2
(
t
)
]
,
y
′
=
2
u
(
t
)
v
(
t
)
x^{'}(t)=[u^2(t)-v^2(t)],y^{'}=2u(t)v(t)
x′(t)=[u2(t)−v2(t)],y′=2u(t)v(t)
2.2 控制顶点的表达形式验证
由贝塞尔曲线的一阶导数公式有,
x
′
(
t
)
=
3
(
p
1
x
−
p
0
x
)
b
0
2
(
t
)
+
3
(
p
2
x
−
p
1
x
)
b
1
2
(
t
)
+
3
(
p
3
x
−
p
2
x
)
b
2
2
(
t
)
x^{'}(t)=3(p_{1x}-p_{0x})b_0^2(t) +3(p_{2x}-p_{1x})b_1^2(t) + 3(p_{3x}-p_{2x})b_2^2(t)
x′(t)=3(p1x−p0x)b02(t)+3(p2x−p1x)b12(t)+3(p3x−p2x)b22(t)
y
′
(
t
)
=
3
(
p
1
y
−
p
0
y
)
b
0
2
(
t
)
+
3
(
p
2
y
−
p
1
y
)
b
1
2
(
t
)
+
3
(
p
3
y
−
p
2
y
)
b
2
2
(
t
)
y^{'}(t)=3(p_{1y}-p_{0y})b_0^2(t)+3(p_{2y}-p_{1y})b_1^2(t)+3(p_{3y}-p_{2y})b_2^2(t)
y′(t)=3(p1y−p0y)b02(t)+3(p2y−p1y)b12(t)+3(p3y−p2y)b22(t)
因此,联立两式有,
p
1
x
−
p
0
x
=
1
3
(
u
0
2
−
v
0
2
)
,
p
2
x
−
p
1
x
=
1
3
(
u
0
u
1
−
v
0
v
1
)
,
p
3
x
−
p
2
x
=
1
3
(
u
1
2
−
v
1
2
)
p_{1x}-p_{0x}=\frac{1}{3}(u_0^2-v_0^2),p_{2x}-p_{1x}=\frac{1}{3}(u_0u_1-v_0v_1),p_{3x}-p_{2x}=\frac{1}{3}(u_1^2-v_1^2)
p1x−p0x=31(u02−v02),p2x−p1x=31(u0u1−v0v1),p3x−p2x=31(u12−v12)
p
1
y
−
p
0
y
=
1
3
(
2
u
0
v
0
)
,
p
2
y
−
p
1
y
=
1
3
(
u
0
v
1
+
u
1
v
0
)
,
p
3
y
−
p
2
y
=
1
3
(
2
u
1
v
1
)
p_{1y}-p_{0y}=\frac{1}{3}(2u_0v_0),p_{2y}-p_{1y}=\frac{1}{3}(u_0v_1+u_1v_0),p_{3y}-p_{2y}=\frac{1}{3}(2u_1v_1)
p1y−p0y=31(2u0v0),p2y−p1y=31(u0v1+u1v0),p3y−p2y=31(2u1v1)
因此,控制顶点满足的关系整理如下:
2.3 三次贝塞尔曲线成为PH曲线的充要条件验证
三次贝塞尔曲线成为PH曲线的充要条件是:
L
2
=
L
1
L
3
,且
θ
1
=
θ
2
L_2=\sqrt{L_1L_3} ,且\theta_1=\theta_2
L2=L1L3,且θ1=θ2
其中几何边和角的位置分布如下图所示:
定义 d 01 d_{01} d01表示 p 0 p_{0} p0和 p 1 p_{1} p1的距离, d 12 d_{12} d12表示 p 1 p_{1} p1和 p 2 p_{2} p2的距离, d 23 d_{23} d23表示 p 2 p_{2} p2和 p 3 p_{3} p3的距离。因此有:
因此可验证得到,
L
2
=
L
1
L
3
L_2=\sqrt{L_1L_3}
L2=L1L3
接下来就是证明
θ
1
=
θ
2
\theta_1=\theta_2
θ1=θ2
2.4 三次PH曲线的参数速率形式验证
三次PH曲线的参数速率表示形式:
σ
(
t
)
=
∑
i
=
0
2
σ
i
B
i
2
(
t
)
\sigma(t)=\sum_{i=0}^2\sigma_iB_i^2(t)
σ(t)=i=0∑2σiBi2(t)
由弧长的定义
S
(
t
)
=
∫
0
t
σ
(
τ
)
d
τ
S(t)=\int_0^t\sigma(\tau) d\tau
S(t)=∫0tσ(τ)dτ
S
(
t
)
=
∑
i
=
0
3
S
i
B
i
3
(
t
)
,
0
≤
t
≤
1
S(t)=\sum_{i=0}^3S_iB_i^3(t),0≤t≤1
S(t)=i=0∑3SiBi3(t),0≤t≤1
其中,
S
0
=
0
,
S
i
=
1
3
∑
0
i
−
1
σ
j
,
i
=
1
,
2
,
3
S_0=0,S_i=\frac{1}{3} \sum_0^{i-1} \sigma_j ,i=1,2,3
S0=0,Si=310∑i−1σj,i=1,2,3
三次PH曲线的全弧长为:
S
=
S
(
1
)
=
1
3
∑
0
2
σ
i
S=S(1)=\frac{1}{3} \sum_0^2 \sigma_i
S=S(1)=310∑2σi
3 四次PH曲线的构造及性质
3.1 四次PH曲线的构造
令平面四次PH曲线
P
(
t
)
=
∑
t
=
0
4
p
t
B
t
4
(
t
)
,
0
≤
t
≤
1
P(t)=\sum_{t=0}^4p_tB_t^4(t), 0≤t≤1
P(t)=t=0∑4ptBt4(t),0≤t≤1为了使P(t)为PH曲线,则作如下假设:
其中,
代入公式计算有,
3.2 四次PH曲线的性质
4 五次PH曲线的构造及性质
五次PH曲线有两种:非尖点五次PH曲线和尖点五次PH曲线。
4.1 非尖点五次PH曲线
4.2 尖点五次PH曲线
参考文献
[1] 知乎:贝塞尔曲线的求导
[2] Pythagorean hodographs
[3] 一类五次PH曲线Hermite插值的几何方法
[4] PH曲线的研究及其应用
[5] PH曲线的构造及相关问题研究
[6] 基于PH曲线的Delta机器人轨迹规划方法
[7] 基于PH曲线的无人机路径规划算法