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

Discussion in 'LANGS.C' started by systemio, Mar 18, 2008.

  1. systemio

    systemio New Member

    Blog Posts:
    0
    Joined:
    Mar 18, 2008
    Messages:
    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

    Blog Posts:
    0
    Joined:
    Oct 8, 2003
    Messages:
    5,383
    Location:
    Йобастан
    Будет.
     
  3. systemio

    systemio New Member

    Blog Posts:
    0
    Joined:
    Mar 18, 2008
    Messages:
    98
    А поподробней!?
     
  4. _DEN_

    _DEN_ DEN

    Blog Posts:
    0
    Joined:
    Oct 8, 2003
    Messages:
    5,383
    Location:
    Йобастан
    Куда уж подробнее? :)
     
  5. crypto

    crypto Active Member

    Blog Posts:
    0
    Joined:
    Dec 13, 2005
    Messages:
    2,533
    systemio
    Тригонометрическая форма записи комплексного числа
    a*exp(i*phi) = a*(cos(phi) + i*sin(phi)).
    Видим, что будет -)
     
  6. valterg

    valterg Active Member

    Blog Posts:
    0
    Joined:
    Aug 19, 2004
    Messages:
    2,105
    systemio
    Как ни странно будет. Но я еще не видал ни одного человека написавшего про
    комплексное число, например, 45градусов+i*90градусов
    Измерение углов в градусах - историческое наследие, абстрактный перевод
    вещественных чисел в градусы - это "кунштюк" математо-программистов.