Ángulo entre un par de líneas – Part 1

Dados dos enteros M1 y M2 que representan la pendiente de dos líneas que se cruzan en un punto, la tarea es encontrar el ángulo entre estas dos líneas .

Ejemplos:

Entrada: M 1 = 1,75, M 2 = 0,27
Salida: 45,1455 grados

Entrada: M 1 = 0,5, M 2 = 1,75
Salida: 33,6901 grados

Enfoque: si θ es el ángulo entre las dos líneas que se cruzan, entonces el ángulo θ se puede calcular mediante:

tanθ = |(METRO 2 – METRO 1 ) / (1 + METRO 1 * METRO 2 )|
=> θ = bronceado -1 ( |(METRO 2 – METRO 1 ) / (1 + METRO 1 * METRO 2 )| )

Siga los pasos a continuación para resolver el problema:

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ program for the above approach
#include <bits/stdc++.h>
using namespace std;
 
#define PI 3.14159265
 
// Function to find the
// angle between two lines
void findAngle(double M1, double M2)
{
    // Store the tan value  of the angle
    double angle = abs((M2 - M1)
                       / (1 + M1 * M2));
 
    // Calculate tan inverse of the angle
    double ret = atan(angle);
 
    // Convert the angle from
    // radian to degree
    double val = (ret * 180) / PI;
 
    // Print the result
    cout << val;
}
 
// Driver Code
int main()
{
    double M1 = 1.75, M2 = 0.27;
 
    findAngle(M1, M2);
 
    return 0;
}

Java

// Java program for the above approach
import java.util.*;
class GFG
{
    static double PI = 3.14159265;
 
    // Function to find the
    // angle between two lines
    static void findAngle(double M1, double M2)
    {
       
        // Store the tan value  of the angle
        double angle = Math.abs((M2 - M1) / (1 + M1 * M2));
 
        // Calculate tan inverse of the angle
        double ret = Math.atan(angle);
 
        // Convert the angle from
        // radian to degree
        double val = (ret * 180) / PI;
 
        // Print the result
        System.out.println(val);
    }
 
    // Driver Code
    public static void main(String []args)
    {
        double M1 = 1.75, M2 = 0.27;
 
        findAngle(M1, M2);
    }
}
 
// This code is contributed by rrrtnx.

Python3

# Python3 program for the above approach
from math import atan
 
# Function to find the
# angle between two lines
def findAngle(M1, M2):
    PI = 3.14159265
     
    # Store the tan value  of the angle
    angle = abs((M2 - M1) / (1 + M1 * M2))
 
    # Calculate tan inverse of the angle
    ret = atan(angle)
 
    # Convert the angle from
    # radian to degree
    val = (ret * 180) / PI
 
    # Print the result
    print (round(val, 4))
 
# Driver Code
if __name__ == '__main__':
    M1 = 1.75
    M2 = 0.27
 
    findAngle(M1, M2)
 
    # This code is contributed by mohit kumar 29.

C#

// C# program for the above approach
using System;
class GFG
{
    static double PI = 3.14159265;
 
    // Function to find the
    // angle between two lines
    static void findAngle(double M1, double M2)
    {
       
        // Store the tan value  of the angle
        double angle = Math.Abs((M2 - M1) / (1 + M1 * M2));
 
        // Calculate tan inverse of the angle
        double ret = Math.Atan(angle);
 
        // Convert the angle from
        // radian to degree
        double val = (ret * 180) / PI;
 
        // Print the result
        Console.Write(val);
    }
 
    // Driver Code
    public static void Main()
    {
        double M1 = 1.75, M2 = 0.27;
 
        findAngle(M1, M2);
    }
}
 
// This code is contributed by ukasp.

Javascript

<script>
 
      // JavaScript program
      // for the above approach
      const PI = 3.14159265;
 
      // Function to find the
      // angle between two lines
      function findAngle(M1, M2) {
        // Store the tan value of the angle
        var angle = Math.abs((M2 - M1) / (1 + M1 * M2));
 
        // Calculate tan inverse of the angle
        var ret = Math.atan(angle);
 
        // Convert the angle from
        // radian to degree
        var val = (ret * 180) / PI;
 
        // Print the result
        document.write(val.toFixed(4));
      }
 
      // Driver Code
      var M1 = 1.75,
        M2 = 0.27;
      findAngle(M1, M2);
       
</script>
Producción: 

45.1455

 

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1) 

Publicación traducida automáticamente

Artículo escrito por portalpirate 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 *