Program to convert polar co-ordinates to equivalent cartesian co-ordinates

21 Dec, 2021
Given two integers r and θ (in degree) representing polar coordinates of a point (r, θ), the task is to find the Cartesian coordinates of the given point.
Examples:
Input: r = 1.4142, θ = 45Output: 1.000, 1.000
Input: r = 3, θ = 30Output: 2.598, 1.500
Approach: Let the cartesian coordinates of the point be (x, y). The polar coordinates and the Cartesian coordinates can be related using the following equations:
x = r*cosθ and y = r*sinθ
Follow the steps below to solve the problem:
Convert θ from degrees to radian as θ(in radian) = θ (in degrees) * (3.14159 / 180).
Store the x and y coordinate in a variable X and Y respectively.
Apply transformation formula and update the value of X = r * cosθ and Y = r * sinθ.
Print the value of X and Y as the result.
Below is the implementation of the above approach:
C++14
Java
Python3
C#
Javascript
// C++ program for the above approach#include <bits/stdc++.h>using namespace std; // Function to convert degree to radiandouble ConvertDegToRad(double degree){    double pi = 3.14159;    return (degree * (pi / 180.0));} // Function to convert the polar// coordinate to cartesianvoid ConvertToCartesian(    pair<double, double> polar){     // Convert degrees to radian    polar.second = ConvertDegToRad(        polar.second);     // Applying the formula:    // x = rcos(theta), y = rsin(theta)    pair<double, double> cartesian        = { polar.first * cos(polar.second),            polar.first * sin(polar.second) };     // Print cartesian coordinates    printf("%0.3f, %0.3f",           cartesian.first,           cartesian.second);} // Driver Codeint main(){    // Given polar coordinates    pair<double,         double>        polar = { 1.4142, 45 };     // Function to convert polar    // coordinates to equivalent    // cartesian coordinates    ConvertToCartesian(polar);     return 0;}
// Java code of above approachimport java.util.*; class GFG{   // Function to convert degree to radian  static double ConvertDegToRad(double degree)  {    double pi = 3.14159;    return (degree * (pi / 180.0));  }   // Function to convert the polar  // coordinate to cartesian  static void ConvertToCartesian(    double[] polar)  {     // Convert degrees to radian    polar[1] = ConvertDegToRad(      polar[1]);     // Applying the formula:    // x = rcos(theta), y = rsin(theta)    double[] cartesian      = { polar[0] * Math.cos(polar[1]),         polar[0] * Math.sin(polar[1]) };     // Print cartesian coordinates    System.out.print(String.format("%.3f", cartesian[0])+" "+String.format("%.3f", cartesian[1]));   }   // Driver code  public static void main(String[] args)  {    // Given polar coordinates     double[] polar = { 1.4142, 45 };     // Function to convert polar    // coordinates to equivalent    // cartesian coordinates    ConvertToCartesian(polar);   }} // This code is contributed by offbeat
# Python 3 program for the above approachimport math # Function to convert degree to radiandef ConvertDegToRad(degree):    pi = 3.14159    return (degree * (pi / 180.0)) # Function to convert the polar# coordinate to cartesiandef ConvertToCartesian(polar):     # Convert degrees to radian    polar[1] = ConvertDegToRad(polar[1])     # Applying the formula:    # x = rcos(theta), y = rsin(theta)    cartesian = [polar[0] * math.cos(polar[1]),                 polar[0] * math.sin(polar[1])]     # Print cartesian coordinates    print('%.3f' % cartesian[0],          '%.3f' % cartesian[1]) # Driver Codeif __name__ == "__main__":     # Given polar coordinates    polar = [1.4142, 45]     # Function to convert polar    # coordinates to equivalent    # cartesian coordinates    ConvertToCartesian(polar)     # This code is contributed by chitranayal.
// C# program for the above approachusing System; class GFG{   // Function to convert degree to radian  static Double ConvertDegToRad(Double degree)  {    Double pi = 3.14159;    return (degree * (pi / 180.0));  }   // Function to convert the polar  // coordinate to cartesian  static void ConvertToCartesian(    Double[] polar)  {     // Convert degrees to radian    polar[1] = ConvertDegToRad(      polar[1]);     // Applying the formula:    // x = rCos(theta), y = rSin(theta)    Double[] cartesian      = { polar[0] * Math.Cos(polar[1]),         polar[0] * Math.Sin(polar[1]) };     // Print cartesian coordinates    Console.Write(String.Format("{0:0.000}", cartesian[0])+                  ", "+String.Format("{0:0.000}", cartesian[1]));   }   // Driver code  public static void Main()  {     // Given polar coordinates    Double[] polar = { 1.4142, 45 };     // Function to convert polar    // coordinates to equivalent    // cartesian coordinates    ConvertToCartesian(polar);   }} // This code is contributed by Shubham Singh
<script> // JavaScript code of above approach // Function to convert degree to radianfunction ConvertDegToRad(degree){    let pi = 3.14159;    return (degree * (pi / 180.0));} // Function to convert the polar  // coordinate to cartesianfunction ConvertToCartesian(polar){    // Convert degrees to radian    polar[1] = ConvertDegToRad(      polar[1]);      // Applying the formula:    // x = rcos(theta), y = rsin(theta)    let cartesian      = [ polar[0] * Math.cos(polar[1]),         polar[0] * Math.sin(polar[1]) ];      // Print cartesian coordinates    document.write((cartesian[0]).toFixed(3)+", "    +(cartesian[1]).toFixed(3));} // Driver codelet polar=[1.4142, 45 ];// Function to convert polar// coordinates to equivalent// cartesian coordinatesConvertToCartesian(polar); // This code is contributed by avanitrachhadiya2155 </script>
1.000, 1.000
 
Time Complexity: O(1)Auxiliary Space: O(1)
ukasp
offbeat
varshagumber28
avanitrachhadiya2155
sooda367
SHUBHAMSINGH10
Geometric-Lines
Geometric
Mathematical
Technical Scripter
Mathematical
Geometric
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Maximum Manhattan distance between a distinct pair from N coordinates
Total area of two overlapping rectangles
Largest area possible after removal of a series of horizontal & vertical bars
Program to find line passing through 2 Points
Orientation of 3 ordered points
Program for Fibonacci numbers
Set in C++ Standard Template Library (STL)
Write a program to print all permutations of a given string
C++ Data Types
Merge two sorted arrays