Problem – Find the vertex, focus and directrix of a parabola when the coefficients of its equation are given.
A set of points on a plain surface that forms a curve such that any point on that curve is equidistant from the focus is a parabola.
Vertex of a parabola is the coordinate from which it takes the sharpest turn whereas a is the straight line used to generate the curve.

The standard form of a parabola equation is
. Given the values of a, b and c; our task is to find the coordinates of vertex, focus and the equation of the directrix.
Example –
Input : 5 3 2
Output : Vertex:(-0.3, 1.55)
Focus: (-0.3, 1.6)
Directrix: y=-198
Consult the formula below for explanation.
This problem is a simple example of implementations of formulae. Given below are the required set of formulae which will help us tackle the problem.
For a parabola in the formVertex:
Focus:
Directrix:
![]()
C++
#include <iostream> using namespace std; // Function to calculate Vertex, Focus and Directrix void parabola(float a, float b, float c) { cout << "Vertex: (" << (-b / (2 * a)) << ", " << (((4 * a * c) - (b * b)) / (4 * a)) << ")" << endl; cout << "Focus: (" << (-b / (2 * a)) << ", " << (((4 * a * c) - (b * b) + 1) / (4 * a)) << ")" << endl; cout << "Directrix: y=" << c - ((b * b) + 1) * 4 * a << endl; } // Driver Function int main() { float a = 5, b = 3, c = 2; parabola(a, b, c); return 0; } |
Java
// Java program to find the vertex, // focus and directrix of a parabola class GFG { // Function to calculate Vertex, // Focus and Directrix static void parabola(float a, float b, float c) { System.out.println("Vertex: (" + (-b / (2 * a)) + ", " + (((4 * a * c) - (b * b)) / (4 * a)) + ")"); System.out.println("Focus: (" + (-b / (2 * a)) + ", " + (((4 * a * c) - (b * b) + 1) / (4 * a)) + ")"); System.out.println("Directrix:" + " y=" + (int)(c - ((b * b) + 1) * 4 * a)); } // Driver Function public static void main(String[] args) { float a = 5, b = 3, c = 2; // Function calling parabola(a, b, c); } } // This code is contributed by // Smitha Dinesh Semwal |
Python 3
# 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 = 5b = 3c = 2parabola(a, b, c) # This code is contributed by Smitha. |
C#
// C# program to find the vertex, // focus and directrix of a parabola using System; class GFG { // Function to calculate Vertex, // Focus and Directrix static void parabola(float a, float b, float c) { Console.WriteLine("Vertex: (" + (-b / (2 * a)) + ", " + (((4 * a * c) - (b * b)) / (4 * a)) + ")"); Console.WriteLine("Focus: (" + (-b / (2 * a)) + ", " + (((4 * a * c) - (b * b) + 1) / (4 * a)) + ")"); Console.Write("Directrix:" + " y=" + (int)(c - ((b * b) + 1) * 4 * a)); } // Driver Function public static void Main() { float a = 5, b = 3, c = 2; // Function calling parabola(a, b, c); } } // This code is contributed by nitin mittal |
PHP
<?php // PHP program to Find the vertex, // focus and directrix of a parabola // Function to calculate Vertex, // Focus and Directrix function parabola($a, $b, $c) { echo "Vertex: (" , (-$b / (2 * $a)) , ", ", (((4 * $a * $c) - ($b * $b)) / (4 * $a)), ")", "\n" ; echo "Focus: (" , (-$b / (2 * $a)) , ", ", (((4 * $a * $c) - ($b * $b) + 1) / (4 * $a)) , ")"," \n" ; echo "Directrix: y=", $c - (($b * $b) + 1) * 4 * $a ; } // Driver Code $a = 5; $b = 3; $c = 2; parabola($a, $b, $c); // This code is contributed by vt_m. ?> |
Output –
Vertex:(-0.3, 1.55) Focus: (-0.3, 1.6) Directrix: y=-198
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

