Complex.FromPolarCoordinates Method (Double, Double)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Creates a complex number from a point's polar coordinates.

Namespace:   System.Numerics
Assembly:  System.Numerics (in System.Numerics.dll)

public static Complex FromPolarCoordinates(
	double magnitude,
	double phase


Type: System.Double

The magnitude, which is the distance from the origin (the intersection of the x-axis and the y-axis) to the number.

Type: System.Double

The phase, which is the angle from the line to the horizontal axis, measured in radians.

Return Value

Type: System.Numerics.Complex

A complex number.

The FromPolarCoordinates method instantiates a complex number based on its polar coordinates.

Because there are multiple representations of a point on a complex plane, the return value of the FromPolarCoordinates method is normalized. The magnitude is normalized to a positive number, and the phase is normalized to a value in the range of -PI to PI. As a result, the values of the Phase and Magnitude properties of the resulting complex number may not equal the original values of the magnitude and phase parameters.

To convert a value from degrees to radians for the phase parameter, multiply it by Math.PI/180.

The following example uses the FromPolarCoordinates method to instantiate a complex number based on its polar coordinates and then displays the value of its Magnitude and Phase properties.

using System;
using System.Numerics;

public class Example
   public static void Main()
      Complex c1 = Complex.FromPolarCoordinates(10, 45 * Math.PI / 180);
      Console.WriteLine("{0}:", c1);
      Console.WriteLine("   Magnitude: {0}", Complex.Abs(c1));
      Console.WriteLine("   Phase:     {0} radians", c1.Phase);
      Console.WriteLine("   Phase      {0} degrees", c1.Phase * 180/Math.PI);
      Console.WriteLine("   Atan(b/a): {0}", Math.Atan(c1.Imaginary/c1.Real));
// The example displays the following output:
//       (7.07106781186548, 7.07106781186547):
//          Magnitude: 10
//          Phase:     0.785398163397448 radians
//          Phase      45 degrees
//          Atan(b/a): 0.785398163397448

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Available since 4.0
Windows Phone
Available since 8.1
Return to top