ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Python 求抛物线的顶点、焦点和准线(Finding the vertex, focus and directrix of a parabola)

Python 求抛物线的顶点、焦点和准线(Finding the vertex, focus and directrix of a parabola)

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

问题:已知抛物线方程的系数,求其顶点、焦点和准线。平面上由若干点构成的曲线,使得曲线上任意一点到焦点的距离相等,则该点构成的曲线称为抛物线。抛物线的顶点是曲线拐点最急的点的坐标,而准线是构成该曲线的直线。

抛物线方程的标准形式是 y=ax²+bx+c 已知 a、b 和 c 的值,我们的任务是求出顶点坐标、焦点坐标和准线方程。

例如——

输入:5 3 2

输出:顶点:(-0.3, 1.55)
焦点:(-0.3, 1.6)
准线:y=-198

请参考以下公式进行解释。

这个问题是公式应用的一个简单示例。下面列出了解决问题所需的公式。

对于形如 y=ax²+bx+c 顶点:(−b/2a,4ac−b²/4a) 重点: (−b/2a,4ac−b²+1/4a) 准线:y=c−(b²+1)4a

示例代码:

# Function to calculate Vertex,
# Focus and Directrix
def parabola(a, b, c):

print("Vertex: (" , (-b / (2 * a)),
", ", (((4 * a * c) - (b * b))
/ (4 * a)), ")", sep = "")

print("Focus: (" , (-b / (2 * a)),
", ", (((4 * a * c) - (b * b) + 1)
/ (4 * a)), ")", sep = "")

print("Directrix: y=", c - ((b * b)
+ 1) * 4 * a, sep = "")

# Driver Function
a = 5
b = 3
c = 2
parabola(a, b, c)

# This code is contributed by Smitha.

输出-

顶点坐标:(-0.3, 1.55)

焦点坐标:(-0.3, 1.6)

准线坐标:y=-198

时间复杂度: O(1)

辅助空间: O(1)

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进