抛物流线参数化方程推导——从几何性质到代码实现

抛物流线参数化方程推导------从几何性质到代码实现

一、抛物流线几何性质

抛物线的准线过焦点的垂线称为抛物线的 , 轴与抛物线的交点称为抛物线的顶点

设 \(FP = \rho\), \(\angle OFP = \theta\), 抛物线的焦点为\(F\),定点为\(O\),焦准距为\(p\).

如上图所示,当 \(\theta > 90 ^ {\circ}\) 时,作 \(FP\) 在轴上的投影,因为焦点 \(F\) 到准线的垂线段为 \(p\), 顶点 \(O\) 到焦点 \(F\) 的距离为 \(\frac{p}{2}\), 到准线的距离也为 \(\frac{p}{2}\), 故可得得 \(\rho = p - \rho cos{\theta}\), 对上式进行整理得到 [[1]](#[1])

\\\rho = \\frac{p}{1 + cos{\\theta}} \\tag{1} \\

即,

\FP = \\frac{p}{1 + cos{\\angle OFP}} \\tag{2} \\

当 \(\theta = 90 ^ {\circ}\) 时,\(FP = p\) 满足式 (2).

当 \(0 ^ {\circ} < \theta < 90 ^ {\circ}\) 时,同理可证得式 (2).

当 \(\theta = 0 ^ {\circ}\) 时,\(FP = \frac{p}{2}\), 满足式 (2).

故对于抛物线上任意一点 \(P\), 有:

\FP = \\frac{p}{1 + cos{\\phi}} \\tag{3} \\

上式中 \(\phi\) 即为 \(\angle OFP\).

二、推导抛物流线参数化表达式

1、\(P\) 点的参数化表示

观察式 (3) 可知,抛物线上一点 \(P\) 和焦点 \(F\) 之间的距离 \(FP\) 是由一个参数化形式表达的,其分母与角度 \(\phi\)有关。重新表达点 \(P\):

\P = \\rho \\cdot (cos{\\phi}, sin{\\phi}), \\rho = \\frac{p}{1 + cos{\\phi}} \\

整理得到:

\P = (\\frac{p cos{\\phi}}{1 + cos{\\phi}}, \\frac{p sin{\\phi}}{1 + sin{\\phi}}) \\tag{4} \\

2、抛物线平移及开口朝向旋转

为了使抛物线可以任意开口,而不是固定在某个方向,我们引入一个额外的旋转角度 \(\alpha\), 即抛物线的对称轴方向。表示抛物线开口方向相对于极坐标系的偏移。

通过旋转矩阵 \(R\) 将点 \(P\) 的极坐标表示旋转 \(\alpha\) 角度,旋转公式为:

\\\begin{bmatrix} x' \\\\ y ' \\end{bmatrix} = R \\cdot \\begin{bmatrix} x \\\\ y \\end{bmatrix} \\tag{5} \\

其中, \(R\) 为:

\R = \\begin{bmatrix} cos{\\alpha} \& -sin{\\alpha} \\\\ sin{\\alpha} \& cos{\\alpha} \\end{bmatrix} \\

将式 (4) 代入式 (5) 中的 \(P(x, y)\) 得到:

\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' = \\frac{p}{1 + cos{\\phi}} \\cdot \\begin{bmatrix} cos{(\\phi + \\alpha)}, sin{(\\phi + \\alpha)} \\end{bmatrix} \\tag{6} \\

点 \(P\) 的位置经过旋转和偏移后:

\F(X, Y) = 旋转 + 平移 \\

\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} \]

3、焦准距推导

抛物线是由一个焦点 \(F\) 和一条准线构成的曲线。抛物线上的任意一点 \(P\) 满足如下几何性质:点 \(P\) 到焦点 \(F\) 的距离等于点 \(P\) 到准线的距离。 即 \(FP = p\).

抛物线的开口方向由其对称轴的方向确定。因旋转角度为 \(\alpha\), 故设对称轴的单位向量为:

\(cos{\\alpha}, sin{\\alpha}) \\

准线是一条垂直于对称轴的直线,直线的方程可以由点法向式表示。假设准线的法向量与对称轴一致即 \((cos{\alpha}, sin{\alpha})\), 则准线的方程为:

\(x, y) \\cdot (cos{\\alpha}, sin{\\alpha}) = c \\

其中:

  • \((x, y)\) 为准线上任意一点

  • \(c\) 是一个常数,表示准线的偏移量

对于点 \(P\) 到准线的垂直距离 \(PP'\) 就可以表示为 \(FP\) 在旋转后的对称轴上的投影加上准焦距 \(p\), 即:

\PP' = (P - F) \\cdot (cos{\\alpha}, sin{\\alpha}) + p \\tag{8} \\

根据抛物线定义:\(FP = PP'\)

并将 \(FP\) 表示为点 \(P\) 到焦点 \(F\) 之间的欧氏距离:

\FP = \\sqrt{(P - F) \\cdot (P - F)} \\tag{9} \\

联立式 (8) 和式 (9):

\\\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} \\

4、推得抛物流线参数化方程

将式 (10) 带入式 (7) 可以推得抛物流线参数化的表达形式:

\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) \]

三、实战

编写计算抛物流线的自定义函数:

matlab 复制代码
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\)、准线以及焦准距 \(p\) 决定。顶点 \(O\) 位于焦点与准线之间,距离两者均为 \(\frac{p}{2}\). 通过参数化表达式,可以描述抛物线上任意点的位置,其极坐标形式与角度 \(\phi\) 相关。为描述任意方向开口的抛物线,引入对称轴的旋转角度 \(\alpha\),将点的位置通过旋转矩阵修正。此外,准线的方程通过点法向式表示,与对称轴方向一致,而焦准距则通过点到焦点的欧几里得距离与方向向量的投影推导得出。最终,抛物流线的参数化公式将这些几何特性完整表达出来,为工程设计和仿真提供了重要工具。

参考


  1. 抛物线的几何性质(传统几何法推导) ↩︎
相关推荐
chushiyunen6 小时前
langchain4j笔记、tools
笔记·python·flask
影视飓风TIM8 小时前
数据结构 | 链表超全笔记(单链表+双链表+高频算法题)
数据结构·笔记·链表
二哈赛车手8 小时前
新人笔记---最终版智能体图片分析完整方案,包括一些总结于经验,以及各种优化点讲解
java·笔记·spring·ai·springboot
_李小白8 小时前
【智能驾驶:视觉感知后处理 阅读笔记】Day4: 相机成像模型与畸变
笔记·数码相机
十月的皮皮9 小时前
C语言学习笔记20260615-有序升序序列合并
c语言·笔记·学习
辣香牛肉面12 小时前
CintaNotes个人笔记管理软件v3.14(v3.13.0 绿色汉化版)
笔记
yoothey14 小时前
异常学习笔记:为什么自定义异常后还要 throw?
笔记·学习
sulikey14 小时前
数据库系统概论4 - 更新与视图 期末速成课笔记
数据库·笔记·考试·期末速成·数据库系统概论
لا معنى له15 小时前
NeoVerse: Enhancing 4D World Model with in-the-wild Monocular Videos
人工智能·笔记·机器学习·语言模型
黄毛火烧雪下15 小时前
Java 基础笔记:文件、递归与字符编码
java·开发语言·笔记