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

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, ? = 45
Output: 1.000, 1.000Input: r = 3, ? = 30
Output: 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
// 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
// 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 |
Python3
# 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#
// 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 |
Javascript
<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> |
Output:
1.000, 1.000
Time Complexity: O(1)
Auxiliary Space: O(1)
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!




