тригонометрия для комплексных чисел

Тема в разделе "LANGS.C", создана пользователем systemio, 18 мар 2008.

  1. systemio

    systemio New Member

    Публикаций:
    0
    Регистрация:
    18 мар 2008
    Сообщения:
    98
    Как известно тригонометрические ф-ии в С считают радианы а не градусы. Я сделал так:

    template<typename T> T D2R(const T& value) // Degree to radian
    {
    return (M_PI/180.0f)*value;
    }

    template<typename T> T Sin(const T& value)
    {
    return sin(D2R(value));
    }

    Потом оказалось что есть такие же тригонометрические ф-ии и для комплексных чисел. Вопрос в том будет ли этот обобщенный код верен и для комплесных чисел:

    std::complex<float> value;

    template<typename T> void Очень_Сложный_Обобщенный_Алгоритм_Для_Всяких_Чисел(const T& value)
    {
    ...
    T some = Sin(value); // В глубинах алгоритма
    ...
    }
     
  2. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Будет.
     
  3. systemio

    systemio New Member

    Публикаций:
    0
    Регистрация:
    18 мар 2008
    Сообщения:
    98
    А поподробней!?
     
  4. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Куда уж подробнее? :)
     
  5. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    systemio
    Тригонометрическая форма записи комплексного числа
    a*exp(i*phi) = a*(cos(phi) + i*sin(phi)).
    Видим, что будет -)
     
  6. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    systemio
    Как ни странно будет. Но я еще не видал ни одного человека написавшего про
    комплексное число, например, 45градусов+i*90градусов
    Измерение углов в градусах - историческое наследие, абстрактный перевод
    вещественных чисел в градусы - это "кунштюк" математо-программистов.