Как известно тригонометрические ф-ии в С считают радианы а не градусы. Я сделал так: 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); // В глубинах алгоритма ... }
systemio Тригонометрическая форма записи комплексного числа a*exp(i*phi) = a*(cos(phi) + i*sin(phi)). Видим, что будет -)
systemio Как ни странно будет. Но я еще не видал ни одного человека написавшего про комплексное число, например, 45градусов+i*90градусов Измерение углов в градусах - историческое наследие, абстрактный перевод вещественных чисел в градусы - это "кунштюк" математо-программистов.