Encontrar el vértice, el foco y la directriz de una parábola

Problema: encuentre el vértice, el foco y la directriz de una parábola cuando se dan los coeficientes de su ecuación.
Un conjunto de puntos en una superficie plana que forma una curva tal que cualquier punto en esa curva es equidistante del foco es una parábola.  
El vértice de una parábola es la coordenada desde la que toma el giro más cerrado, mientras que a es la línea recta utilizada para generar la curva. 
 

22

La forma estándar de una ecuación de parábola es  y=ax^2+bx+c    . Dados los valores de a, b y c; nuestra tarea es encontrar las coordenadas de vértice, foco y la ecuación de la directriz. 
Ejemplo – 
 

Input : 5 3 2
Output : Vertex:(-0.3, 1.55)
         Focus: (-0.3, 1.6)
         Directrix: y=-198
Consult the formula below for explanation.

Este problema es un ejemplo simple de implementaciones de fórmulas. A continuación se presenta el conjunto de fórmulas necesarias que nos ayudarán a abordar el problema. 
 

For a parabola in the form y=ax^2+bx+cVertex: (-b/2a, 4ac-b^2/4a)Focus: (-b/2a, 4ac-b^2+1/4a)Directrix: y=c-(b^2+1)4a

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 = 5
b = 3
c = 2
parabola(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.
?>

Javascript

<script>
 
// JavaScript program to find the vertex,
// focus and directrix of a parabola
 
    // Function to calculate Vertex,
    // Focus and Directrix
    function parabola(a, b, c)
    {
           
        document.write("Vertex: (" +
                          (-b / (2 * a)) + ", " +
                          (((4 * a * c) - (b * b)) /
                          (4 * a)) + ")" + "<br/>");
                       
       document.write("Focus: (" +
                          (-b / (2 * a)) + ", "    +
                          (((4 * a * c) - (b * b) + 1) /
                          (4 * a)) + ")" + "<br/>");
               
        document.write("Directrix:" + " y=" +
                          (c - ((b * b) + 1) *
                          4 * a) + "<br/>");
    }
 
// Driver code
 
        let a = 5, b = 3, c = 2;
           
        // Function calling
        parabola(a, b, c);
             
            // This code is contributed by code_hunt.
</script>

Producción – 
 

Vertex:(-0.3, 1.55)
Focus: (-0.3, 1.6)
Directrix: y=-198

Complejidad de tiempo: O(1)

Espacio Auxiliar: O(1)
 

Publicación traducida automáticamente

Artículo escrito por Vineet Joshi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *