抛物流线参数化方程推导——从几何性质到代码实现
抛物流线参数化方程推导——从几何性质到代码实现
抛物流线参数化方程推导——从几何性质到代码实现
一、抛物流线几何性质
抛物线的准线过焦点的垂线称为抛物线的轴, 轴与抛物线的交点称为抛物线的顶点。
设F P = ρ FP = \rhoFP=ρ,∠ O F P = θ \angle OFP = \theta∠OFP=θ, 抛物线的焦点为F FF,定点为O OO,焦准距为p pp.
如上图所示,当θ > 9 0 ∘ \theta > 90 ^ {\circ}θ>90∘时,作F P FPFP在轴上的投影,因为焦点F FF到准线的垂线段为p pp, 顶点O OO到焦点F FF的距离为p 2 \frac{p}{2}2p , 到准线的距离也为p 2 \frac{p}{2}2p , 故可得得ρ = p − ρ c o s θ \rho = p - \rho cos{\theta}ρ=p−ρcosθ, 对上式进行整理得到1:
ρ = p 1 + c o s θ (1) \rho = \frac{p}{1 + cos{\theta}} \tag{1}ρ=1+cosθp (1)
即,
F P = p 1 + c o s ∠ O F P (2) FP = \frac{p}{1 + cos{\angle OFP}} \tag{2}FP=1+cos∠OFPp (2)
当θ = 9 0 ∘ \theta = 90 ^ {\circ}θ=90∘时,F P = p FP = pFP=p满足式 (2).
当0 ∘ < θ < 9 0 ∘ 0 ^ {\circ} < \theta < 90 ^ {\circ}0∘<θ<90∘时,同理可证得式 (2).
当θ = 0 ∘ \theta = 0 ^ {\circ}θ=0∘时,F P = p 2 FP = \frac{p}{2}FP=2p , 满足式 (2).
故对于抛物线上任意一点P PPP, 有:
F P = p 1 + c o s ϕ (3) FP = \frac{p}{1 + cos{\phi}} \tag{3}FP=1+cosϕp (3)
上式中ϕ \phiϕ即为∠ O F P \angle OFP∠OFP.
二、推导抛物流线参数化表达式
1、P PPP点的参数化表示
观察式 (3) 可知,抛物线上一点P PPP和焦点F FF之间的距离F P FPFP是由一个参数化形式表达的,其分母与角度ϕ \phiϕ有关。重新表达点P PPP:
P = ρ ⋅ ( c o s ϕ , s i n ϕ ) , ρ = p 1 + c o s ϕ P = \rho \cdot (cos{\phi}, sin{\phi}), \rho = \frac{p}{1 + cos{\phi}}P=ρ⋅(cosϕ,sinϕ),ρ=1+cosϕp
整理得到:
P = ( p c o s ϕ 1 + c o s ϕ , p s i n ϕ 1 + s i n ϕ ) (4) P = (\frac{p cos{\phi}}{1 + cos{\phi}}, \frac{p sin{\phi}}{1 + sin{\phi}}) \tag{4}P=(1+cosϕpcosϕ ,1+sinϕpsinϕ )(4)
2、抛物线平移及开口朝向旋转
为了使抛物线可以任意开口,而不是固定在某个方向,我们引入一个额外的旋转角度α \alphaα, 即抛物线的对称轴方向。表示抛物线开口方向相对于极坐标系的偏移。
通过旋转矩阵R RR将点P PPP的极坐标表示旋转α \alphaα角度,旋转公式为:
[ x ′ y ′ ] = R ⋅ [ x y ] (5) \begin{bmatrix} x' \ y ' \end{bmatrix} = R \cdot \begin{bmatrix} x \ y \end{bmatrix} \tag{5}[x′y′ ]=R⋅xy
其中,R RR为:
R = [ c o s α − s i n α s i n α c o s α ] R = \begin{bmatrix} cos{\alpha} & -sin{\alpha} \ sin{\alpha} & cos{\alpha} \end{bmatrix}R=[cosαsinα −sinαcosα ]
将式 (4) 代入式 (5) 中的P ( x , y ) P(x, y)P(x,y)得到:
P ′ = [ c o s α ⋅ p c o s ϕ 1 + c o s ϕ − s i n α ⋅ p s i n ϕ 1 + s i n ϕ , s i n α ⋅ p c o s ϕ 1 + c o s ϕ + c o s α ⋅ p s i n ϕ 1 + s i n ϕ ] P' = \begin{bmatrix} cos{\alpha} \cdot \frac{p cos{\phi}}{1 + cos{\phi}} - sin{\alpha} \cdot \frac{p sin{\phi}}{1 + sin{\phi}}, sin{\alpha} \cdot \frac{p cos{\phi}}{1 + cos{\phi}} + cos{\alpha} \cdot \frac{p sin{\phi}}{1 + sin{\phi}} \end{bmatrix}P′=[cosα⋅1+cosϕpcosϕ −sinα⋅1+sinϕpsinϕ ,sinα⋅1+cosϕpcosϕ +cosα⋅1+sinϕpsinϕ ]
整理得到:
P ′ = p 1 + c o s ϕ ⋅ [ c o s ( ϕ + α ) , s i n ( ϕ + α ) ] (6) P' = \frac{p}{1 + cos{\phi}} \cdot \begin{bmatrix} cos{(\phi + \alpha)}, sin{(\phi + \alpha)} \end{bmatrix} \tag{6}P′=1+cosϕp ⋅cos(ϕ+α),sin(ϕ+α)
点P PPP的位置经过旋转和偏移后:
F ( X , Y ) = 旋转 + 平移 F(X, Y) = 旋转 + 平移F(X,Y)=旋转+平移
则
F ( X , Y ) = p 1 + c o s ϕ ⋅ [ c o s ( ϕ + α ) , s i n ( ϕ + α ) ] + [ F 1 , F 2 ] (7) F(X, Y) = \frac{p}{1 + cos{\phi}} \cdot \begin{bmatrix} cos{(\phi + \alpha)}, sin{(\phi + \alpha)} \end{bmatrix} + [F_1, F_2] \tag{7}F(X,Y)=1+cosϕp ⋅[cos(ϕ+α),sin(ϕ+α) ]+F1 ,F2
3、焦准距推导
抛物线是由一个焦点F FF和一条准线构成的曲线。抛物线上的任意一点P PPP满足如下几何性质:点 P PPP到焦点 F FF的距离等于点 P PPP到准线的距离。即F P = p FP = pFP=p.
抛物线的开口方向由其对称轴的方向确定。因旋转角度为α \alphaα, 故设对称轴的单位向量为:
( c o s α , s i n α ) (cos{\alpha}, sin{\alpha})(cosα,sinα)
准线是一条垂直于对称轴的直线,直线的方程可以由点法向式表示。假设准线的法向量与对称轴一致即( c o s α , s i n α ) (cos{\alpha}, sin{\alpha})(cosα,sinα), 则准线的方程为:
( x , y ) ⋅ ( c o s α , s i n α ) = c (x, y) \cdot (cos{\alpha}, sin{\alpha}) = c(x,y)⋅(cosα,sinα)=c
其中:
( x , y ) (x, y)(x,y)为准线上任意一点
c cc是一个常数,表示准线的偏移量
对于点P PPP到准线的垂直距离P P ′ PP'PP′就可以表示为F P FPFP在旋转后的对称轴上的投影加上准焦距p pp, 即:
P P ′ = ( P − F ) ⋅ ( c o s α , s i n α ) + p (8) PP' = (P - F) \cdot (cos{\alpha}, sin{\alpha}) + p \tag{8}PP′=(P−F)⋅(cosα,sinα)+p(8)
根据抛物线定义:F P = P P ′ FP = PP'FP=PP′
并将F P FPFP表示为点P PPP到焦点F FF之间的欧氏距离:
F P = ( P − F ) ⋅ ( P − F ) (9) FP = \sqrt{(P - F) \cdot (P - F)} \tag{9}FP=(P−F)⋅(P−F) (9)
联立式 (8) 和式 (9):
( P − F ) ⋅ ( P − F ) = ( P − F ) ⋅ ( c o s α , s i n α ) + p ⇓ p = ( P − F ) ⋅ ( P − F ) − ( P − F ) ⋅ ( c o s α , s i n α ) (10) \sqrt{(P - F) \cdot (P - F)} = (P - F) \cdot (cos{\alpha}, sin{\alpha}) + p \ \Downarrow \ p = \sqrt{(P - F) \cdot (P - F)} - (P - F) \cdot (cos{\alpha}, sin{\alpha}) \tag{10}(P−F)⋅(P−F) =(P−F)⋅(cosα,sinα)+p⇓p=(P−F)⋅(P−F) −(P−F)⋅(cosα,sinα)(10)
4、推得抛物流线参数化方程
将式 (10) 带入式 (7) 可以推得抛物流线参数化的表达形式:
F ( X , Y ) = ( P − F ) ⋅ ( P − F ) − ( P − F ) ⋅ ( c o s α , s i n α ) 1 + c o s ϕ [ c o s ( ϕ + α ) , s i n ( ϕ + α ) ] + ( F 1 , F 2 ) F(X, Y) = \frac{\sqrt{(P - F) \cdot (P - F)} - (P - F) \cdot (cos{\alpha}, sin{\alpha})}{1 + cos{\phi}}[cos(\phi + \alpha), sin(\phi + \alpha)] + (F_1, F_2)F(X,Y)=1+cosϕ(P−F)⋅(P−F) −(P−F)⋅(cosα,sinα) [cos(ϕ+α),sin(ϕ+α)]+(F1 ,F2 )
三、实战
编写计算抛物流线的自定义函数:
function p = myParabola(F, P, phi_1, phi_2, a, N)
% 计算抛物流线函数,F 为焦点坐标,P 为抛物线上一点
% phi_1, phi_2 是限制角度,a 为开口旋转角度,N 为插值点数
phi = linspace(phi_1, phi_2, N)'; %对限制角度进行线性插值
% 利用抛物流线参数化表达式进行计算
p = (sqrt((P - F) * (P - F)') - (P - F) * [cos(a), sin(a)]') ./ (1 - cos(phi));
p = p .* [cos(phi + a), sin(phi + a)] + F;
end
四、总结
抛物流线具有独特的几何特性,由焦点和准线共同定义。抛物线上任意点满足点到焦点的距离等于点到准线的垂直距离,其几何结构由焦点F FF、准线以及焦准距p pp决定。顶点O OO位于焦点与准线之间,距离两者均为p 2 \frac{p}{2}2p . 通过参数化表达式,可以描述抛物线上任意点的位置,其极坐标形式与角度ϕ \phiϕ相关。为描述任意方向开口的抛物线,引入对称轴的旋转角度α \alphaα,将点的位置通过旋转矩阵修正。此外,准线的方程通过点法向式表示,与对称轴方向一致,而焦准距则通过点到焦点的欧几里得距离与方向向量的投影推导得出。最终,抛物流线的参数化公式将这些几何特性完整表达出来,为工程设计和仿真提供了重要工具。
参考
抛物线的几何性质(传统几何法推导)↩︎