C # преобразовать величину / фазу в реальную / мнимую - PullRequest
1 голос
/ 08 марта 2011

Если мне даны полярные координаты преобразования Фурье, и я хочу вернуться к декартовым (реальным / мнимым) координатам, как бы я это сделал?получить полярные числа из декартовых координат со следующим кодом:

    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 ]

6 голосов
/ 08 марта 2011

Разве это не просто:

(псевдокод)

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

(используйте отрицательный грех, если вы используете инвертированную систему координат компьютера)

1 голос
/ 08 марта 2011

Добавить к ответу @ 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...