Complex.FromPolarCoordinates(Double, Double) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Creates a complex number from a point's polar coordinates.
public:
static System::Numerics::Complex FromPolarCoordinates(double magnitude, double phase);
public static System.Numerics.Complex FromPolarCoordinates (double magnitude, double phase);
static member FromPolarCoordinates : double * double -> System.Numerics.Complex
Public Shared Function FromPolarCoordinates (magnitude As Double, phase As Double) As Complex
Parameters
- magnitude
- Double
The magnitude, which is the distance from the origin (the intersection of the x-axis and the y-axis) to the number.
- phase
- Double
The phase, which is the angle from the line to the horizontal axis, measured in radians.
Returns
A complex number.
Examples
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
open System
open System.Numerics
let c1 = Complex.FromPolarCoordinates(10., 45. * Math.PI / 180.)
printfn $"{c1}:"
printfn $" Magnitude: {Complex.Abs(c1)}"
printfn $" Phase: {c1.Phase} radians"
printfn $" Phase {c1.Phase * 180. / Math.PI} degrees"
printfn $" Atan(b/a): {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
Imports System.Numerics
Module Example
Public Sub Main()
Dim c1 As Complex = 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))
End Sub
End Module
' The example displays the following output:
' (7.07106781186548, 7.07106781186547):
' Magnitude: 10
' Phase: 0.785398163397448 radians
' Phase 45 degrees
' Atan(b/a): 0.785398163397448
Remarks
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 might 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 $\frac{\pi}{180}$.