C#将幅度/相位转换为实/虚

时间:2011-03-08 00:54:42

标签: c# math

如果我给出了傅里叶变换的极坐标,我想回到笛卡尔(真实/虚构)协调器,我将如何去做呢?

我可以使用以下代码从笛卡尔坐标系中获取极坐标数字:

    private double GetPhase(double real, double imaginary)
    {
         return Math.Atan2(imaginary, real);
    }

    private double GetMagnitude(double real, double imaginary)
    {
        return Math.Sqrt((real * real) + (imaginary * imaginary));
    }

但我怎么回去?

2 个答案:

答案 0 :(得分:6)

不只是:

(伪代码)

x = cos(angle) * magnitude
y = sin(angle) * magnitude

(如果你使用计算机的倒置坐标系,则使用负罪) ?

答案 1 :(得分:1)

添加到@ BlueMonkMN的答案:

private  double GetX (double angle, double magnitude)
{
    return Math.Cos(angle) * magnitude;
}

private  double GetY (double angle, double magnitude)
{
    return Math.Sin(angle) * magnitude;
}