Complex.FromPolarCoordinates Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Creates a complex number from a point's polar coordinates.
Namespace: System.Numerics
Assembly: System.Numerics (in System.Numerics.dll)
Syntax
'Declaration
Public Shared Function FromPolarCoordinates ( _
magnitude As Double, _
phase As Double _
) As Complex
public static Complex FromPolarCoordinates(
double magnitude,
double phase
)
Parameters
- magnitude
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.
- phase
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.
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 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.
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.
Imports System.Numerics
Module Example
Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
Dim c1 As Complex = Complex.FromPolarCoordinates(10, 45 * Math.Pi / 180)
outputBlock.Text += String.Format("{0}:", c1) & vbCrLf
outputBlock.Text += String.Format(" Magnitude: {0}", Complex.Abs(c1)) & vbCrLf
outputBlock.Text += String.Format(" Phase: {0} radians", c1.Phase) & vbCrLf
outputBlock.Text += String.Format(" Phase {0} degrees", c1.Phase * 180 / Math.Pi) & vbCrLf
outputBlock.Text += String.Format(" Atan(b/a): {0}", Math.Atan(c1.Imaginary / c1.Real)) & vbCrLf
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
using System;
using System.Numerics;
public class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
Complex c1 = Complex.FromPolarCoordinates(10, 45 * Math.PI / 180);
outputBlock.Text += String.Format("{0}:", c1) + "\n";
outputBlock.Text += String.Format(" Magnitude: {0}", Complex.Abs(c1)) + "\n";
outputBlock.Text += String.Format(" Phase: {0} radians", c1.Phase) + "\n";
outputBlock.Text += String.Format(" Phase {0} degrees", c1.Phase * 180 / Math.PI) + "\n";
outputBlock.Text += String.Format(" Atan(b/a): {0}", Math.Atan(c1.Imaginary / c1.Real)) + "\n";
}
}
// The example displays the following output:
// (7.07106781186548, 7.07106781186547):
// Magnitude: 10
// Phase: 0.785398163397448 radians
// Phase 45 degrees
// Atan(b/a): 0.785398163397448
Version Information
Silverlight
Supported in: 5, 4
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.