Формулы приведения 🔄
Открой формулу квадратурного сигнала в радиосвязи — $\cos(\omega t + \pi/2)$ — или вторую половину пары позиционного кодирования трансформера — $\cos\!\left(\dfrac{pos}{10000^{2i/d}}\right)$ рядом с синусом той же частоты — и ты увидишь один и тот же приём, который математики придумали за тысячи лет до калькуляторов и вообще до самого понятия «функция». Любой «неудобный» угол — тупой, отрицательный, больше полного оборота — можно свести к углу первой четверти, от $0$ до $\pi/2$, если знать всего два правила. Не десять тысяч формул и не таблица на сто страниц, а две простые идеи: когда функция меняется на «сестру» (синус на косинус, тангенс на котангенс), и как понять, с каким знаком брать результат. Это и есть формулы приведения.
Ты уже знаешь единичную окружность и определения синуса, косинуса, тангенса и котангенса (уроки 92–94), а в прошлом уроке разобрал основное тригонометрическое тождество. Формулы приведения — следующий логичный шаг: они превращают то, что ты знаешь про острые углы, в знание про любой угол вообще, не считая ничего заново. Вместо того чтобы держать в голове (или в таблице) значения синуса для каждого градуса от $0°$ до $360°$, достаточно помнить значения для $30°$, $45°$ и $60°$ — а дальше формулы приведения сами скажут, чему равен синус $150°$, $210°$ или $-330°$.
В этом уроке мы разберём идею приведения с нуля: почему оно вообще работает, как вывести правило «менять/не менять функцию» через поворот точки на единичной окружности (буквально через матрицу поворота — потому что тебе она уже знакома из линейной алгебры), как быстро определять знак результата по четверти, соберём всё это в один рабочий алгоритм на любой угол — и посмотрим, где эта симметрия работает в реальном коде: в квадратурных сигналах, в позиционном кодировании и в том, почему поворот изображения на ровно $90°$ не стоит вычислительно почти ничего.
Ты узнаешь:
- Почему бесконечное число углов сводится к значениям для одного острого угла $x$
- Как за секунду определить, меняется ли функция на кофункцию, а не просто выучить это наизусть
- Как безошибочно ставить знак — через четверть, а не через интуицию
- Полный алгоритм приведения любого угла, хоть $\dfrac{29\pi}{4}$, хоть $-1290°$
- Где формулы приведения буквально работают внутри современных ML-систем — от позиционного кодирования до поворота тензоров на $90°$
История: откуда это взялось?
Первые тригонометрические таблицы появились в древней астрономии, и составлять их вручную было мучением. Гиппарх Никейский примерно в 150 году до н. э. построил первую известную таблицу хорд — предшественницу таблицы синусов, нужную для расчёта положений планет и предсказания затмений. Три века спустя Птолемей в «Альмагесте» довёл эту таблицу до совершенства, расписав хорды с шагом в полградуса. Но ни Гиппарх, ни Птолемей не считали хорду для каждого угла окружности отдельно — это заняло бы жизни. Они уже пользовались тем, что хорда (а позже синус) дополнительного, удвоенного и «отражённого» угла выражается через хорду исходного — по сути, ранней версией формул приведения и формул половинного и двойного угла.
Настоящий прорыв в систематизации сделали индийские и арабские математики. Ариабхата в V веке при построении таблицы синусов явно использовал симметрию: $\sin(\pi - x) = \sin x$ избавляла от необходимости считать вторую половину круга. А арабский астроном Абу-ль-Вафа в X веке ввёл в постоянное употребление все шесть тригонометрических функций (включая тангенс и котангенс, до того почти не использовавшиеся) и явно сформулировал соотношения между функциями дополнительных и смежных углов — то есть именно то, что мы сегодня зовём формулами приведения. Цель была предельно практичная: чтобы построить таблицу синусов и тангенсов для навигации и календарных расчётов, достаточно было вычислить (мучительно, вручную, через многочленные приближения) значения только для углов от $0°$ до $45°$ или $90°$ — а остальные $315°$ или $270°$ окружности доставались бесплатно, по симметрии.
Спустя тысячу лет тот же самый принцип работает внутри каждого твоего вызова np.sin(x). Когда x — гигантское число, скажем $10^{15}$, компьютер не может напрямую подставить его в полиномиальное приближение синуса: точность мгновенно потеряется. Вместо этого библиотеки вроде glibc или Intel MKL сначала приводят аргумент к маленькому каноническому диапазону — используя ровно ту же идею периодичности и симметрии, что и формулы приведения, только доведённую до предельной численной аккуратности (алгоритм Пейна — Ханека, если захочешь покопаться глубже). Идея, рождённая для таблиц из папируса, оказалась ядром современных вычислений с плавающей точкой.
Блок 1: Идея приведения — зачем сводить бесконечность углов к одной восьмушке круга
Интуиция
Представь, что ты пишешь функцию, которая должна вернуть квадрат числа, но тебе лень — точнее, дорого — вычислять её для каждого возможного входа заново. Классический приём в программировании — мемоизация: посчитал один раз для канонического значения, а для всех «похожих» входов результат достаёшь по формуле пересчёта, не повторяя тяжёлую работу. Формулы приведения делают ровно это с тригонометрией: единичная окружность обладает восемью осями симметрии (совпадающими с делением на четверти и их половинами), и синус или косинус любого угла из этой симметричной картинки пересчитывается из значения для угла первой восьмушки — не вычисляется заново.
Смотри на единичную окружность: точка на угле $x$ (острый, $0 < x < \pi/2$) и точка на угле $\pi - x$ — зеркальные отражения друг друга относительно вертикальной оси $Oy$. У них одинаковая высота (значит, одинаковый синус) и противоположная горизонталь (значит, противоположный косинус). Точно так же угол $\pi + x$ — это точка, диаметрально противоположная исходной: и высота, и горизонталь меняют знак. А угол $\pi/2 - x$ получается отражением относительно биссектрисы первой четверти — и там высота с горизонталью буквально меняются местами, поэтому синус превращается в косинус. Вся геометрия формул приведения — это каталог этих восьми симметрий единичной окружности.
Определение: Формулами приведения называют тождества, выражающие тригонометрическую функцию угла вида $\dfrac{\pi}{2}k \pm x$ (где $k$ — целое число, а $x$ — произвольный угол, который для практических вычислений удобно брать острым, $0 < x < \pi/2$) через тригонометрическую функцию самого угла $x$ или его кофункции, с определённым знаком.
Формально таких формул можно выписать бесконечно много (для любого целого $k$), но благодаря периодичности синуса и косинуса ($2\pi$) достаточно разобрать всего $k = 1, 2, 3, 4$ — это углы $\dfrac{\pi}{2} \pm x$, $\pi \pm x$, $\dfrac{3\pi}{2} \pm x$ и $2\pi \pm x$. Все остальные случаи получаются из этих четырёх добавлением целого числа полных оборотов.
Примеры с разбором
Пример 1 (простой): вычисли $\cos(120°)$, сведя угол к острому.
Решение:
Шаг 1. Представим $120°$ как $180° - 60°$, то есть в виде $\pi - x$ с $x = 60°$.
Шаг 2. По формуле приведения (мы выведем её строго в следующем блоке, а пока проверим готовую): $\cos(\pi - x) = -\cos x$.
Шаг 3. Подставляем: $\cos(120°) = -\cos(60°) = -\dfrac{1}{2}$.
Проверим наш ответ геометрически: $120°$ лежит во второй четверти, где косинус (горизонтальная координата) отрицателен — знак совпал ✅
Ответ: $\cos(120°) = -\dfrac{1}{2}$.
Пример 2 (средний): вычисли $\sin\!\left(\dfrac{7\pi}{6}\right)$.
Решение:
Шаг 1. Заметим, что $\dfrac{7\pi}{6} = \pi + \dfrac{\pi}{6}$ — это вид $\pi + x$ с $x = \dfrac{\pi}{6}$.
Шаг 2. Формула: $\sin(\pi + x) = -\sin x$.
Шаг 3. Подставляем: $\sin\!\left(\dfrac{7\pi}{6}\right) = -\sin\!\left(\dfrac{\pi}{6}\right) = -\dfrac{1}{2}$.
Проверим наш ответ: $\dfrac{7\pi}{6} = 210°$ лежит в третьей четверти, где синус (вертикальная координата) отрицателен ✅
Ответ: $\sin\!\left(\dfrac{7\pi}{6}\right) = -\dfrac{1}{2}$.
Пример 3 (сложный): вычисли $\text{tg}\!\left(-\dfrac{5\pi}{3}\right)$.
Решение:
Шаг 1. Угол отрицательный — сначала используем нечётность тангенса: $\text{tg}(-\alpha) = -\text{tg}\,\alpha$.
$$\text{tg}\!\left(-\frac{5\pi}{3}\right) = -\text{tg}\!\left(\frac{5\pi}{3}\right)$$Шаг 2. Приведём $\dfrac{5\pi}{3}$ к виду $2\pi - x$: $\dfrac{5\pi}{3} = 2\pi - \dfrac{\pi}{3}$, то есть $x = \dfrac{\pi}{3}$.
Шаг 3. Формула: $\text{tg}(2\pi - x) = -\text{tg}\,x$, значит
$$\text{tg}\!\left(\frac{5\pi}{3}\right) = -\text{tg}\!\left(\frac{\pi}{3}\right) = -\sqrt{3}$$Шаг 4. Возвращаемся к исходному выражению:
$$\text{tg}\!\left(-\frac{5\pi}{3}\right) = -\left(-\sqrt{3}\right) = \sqrt{3}$$Проверим наш ответ независимо — через приведение угла к $[0; 2\pi)$: $-\dfrac{5\pi}{3} + 2\pi = \dfrac{\pi}{3}$, то есть исходный угол сонаправлен с $\dfrac{\pi}{3}$. А $\text{tg}\!\left(\dfrac{\pi}{3}\right) = \sqrt{3}$ ✅ Совпало.
Ответ: $\text{tg}\!\left(-\dfrac{5\pi}{3}\right) = \sqrt{3}$.
Почему это важно
Идея «привести к канону и пересчитать» — это не изолированный трюк для школьных задачек, а общий вычислительный паттерн. В обработке аудио и видео каждый раз, когда нужно вычислить синус или косинус огромного количества углов (например, для генерации звуковой волны с частотой в тысячи герц на протяжении многих секунд, что даёт аргументы порядка $10^6$–$10^9$), процессор внутри библиотеки не пересчитывает ряд Тейлора для гигантского числа напрямую — он сначала приводит угол к $[0; 2\pi)$, а часто и дальше — к первой восьмушке круга, ровно по той симметрии, что мы сейчас разбираем. Экономия колоссальная: вместо аппроксимации на всей числовой прямой нужна точная аппроксимация только на крошечном отрезке $\left[0; \pi/4\right]$.
Блок 2: Менять или не менять функцию — вывод через поворот
Интуиция
В прошлом блоке мы увидели, что при отражении относительно горизонтальной или вертикальной оси координаты точки либо меняют знак, либо остаются на месте — но не «перепрыгивают» друг в друга. А вот при повороте на $\pi/2$ происходит кое-что более интересное: координаты буквально меняются местами (с поправкой на знак). Это тебе уже знакомо из линейной алгебры — поворот точки на угол $\theta$ на плоскости задаётся умножением на матрицу
$$R(\theta) = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}$$Возьмём точку единичной окружности $(\cos x, \sin x)$ и повернём её на $\theta = \pi/2$. Матрица поворота на $\pi/2$ — это $R(\pi/2) = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$ (потому что $\cos(\pi/2) = 0$, $\sin(\pi/2) = 1$). Применим её:
$$R(\pi/2) \begin{pmatrix} \cos x \\ \sin x \end{pmatrix} = \begin{pmatrix} 0 \cdot \cos x - 1 \cdot \sin x \\ 1 \cdot \cos x + 0 \cdot \sin x \end{pmatrix} = \begin{pmatrix} -\sin x \\ \cos x \end{pmatrix}$$Но эта новая точка по определению лежит на угле $x + \pi/2$, значит её координаты — это $(\cos(x + \pi/2), \sin(x + \pi/2))$. Сравнивая покомпонентно, получаем сразу две формулы приведения без всякой геометрической интуиции «на глаз» — чистая алгебра матрицы:
$$\cos\!\left(x + \frac{\pi}{2}\right) = -\sin x, \qquad \sin\!\left(x + \frac{\pi}{2}\right) = \cos x$$Вот и весь секрет: поворот на $\pi/2$ переставляет координаты местами (с одним знаком минус), а значит переставляет местами и функции — синус превращается в косинус и наоборот. Именно поэтому такую пару называют кофункциями.
Определение (правило смены функции): Если приводимый угол имеет вид $\dfrac{\pi}{2}k \pm x$, то при нечётном $k$ (то есть для группы $\pi/2 \pm x$ и $3\pi/2 \pm x$) функция меняется на кофункцию: $\sin \leftrightarrow \cos$, $\text{tg} \leftrightarrow \text{ctg}$. При чётном $k$ (для группы $\pi \pm x$ и $2\pi \pm x$) функция остаётся той же самой.
Причина ровно в матрице: поворот на нечётное число «четвертей» ($\pi/2$, $3\pi/2$) — это поворот на нечётное число раз матрицей $R(\pi/2)$, каждая из которых переставляет координаты. Поворот на чётное число четвертей ($\pi$, $2\pi$) — это поворот на целое число раз матрицей $R(\pi)$, которая координаты не переставляет, только меняет им знаки (или не меняет вовсе, если оборотов чётное количество).
Примеры с разбором
Пример 1 (простой): проверь формулу $\sin(\pi/2 + x) = \cos x$ численно при $x = \pi/6$.
Решение:
Шаг 1. Левая часть: $\sin\!\left(\dfrac{\pi}{2} + \dfrac{\pi}{6}\right) = \sin\!\left(\dfrac{2\pi}{3}\right)$.
Шаг 2. Значение $\dfrac{2\pi}{3} = 120°$ — табличное: $\sin(120°) = \dfrac{\sqrt{3}}{2}$.
Шаг 3. Правая часть: $\cos\!\left(\dfrac{\pi}{6}\right) = \dfrac{\sqrt{3}}{2}$.
Ответ: обе части равны $\dfrac{\sqrt{3}}{2}$ — формула подтвердилась ✅
Пример 2 (средний): выведи и проверь формулу для $\cos(3\pi/2 - x)$ при $x = \pi/4$.
Решение:
Шаг 1. $3\pi/2$ — нечётное число четвертей ($k = 3$), значит функция меняется на кофункцию: косинус превращается в синус.
Шаг 2. Для определения знака (подробно разберём в следующем блоке) заметим: при $x$ остром угол $3\pi/2 - x$ лежит в третьей четверти, где косинус отрицателен. Значит формула: $\cos(3\pi/2 - x) = -\sin x$.
Шаг 3. Проверим при $x = \pi/4$: левая часть — $\cos\!\left(\dfrac{3\pi}{2} - \dfrac{\pi}{4}\right) = \cos\!\left(\dfrac{5\pi}{4}\right)$. Угол $\dfrac{5\pi}{4} = \pi + \dfrac{\pi}{4}$ (третья четверть), где $\cos\!\left(\dfrac{5\pi}{4}\right) = -\dfrac{\sqrt{2}}{2}$.
Шаг 4. Правая часть: $-\sin\!\left(\dfrac{\pi}{4}\right) = -\dfrac{\sqrt{2}}{2}$.
Ответ: совпало, $-\dfrac{\sqrt{2}}{2} = -\dfrac{\sqrt{2}}{2}$ ✅ Формула $\cos(3\pi/2 - x) = -\sin x$ подтверждена.
Пример 3 (сложный): выведи через матрицу поворота обе формулы для угла $x + \pi$ (то есть докажи, что $\pi$ не меняет функцию, а только знак).
Решение:
Шаг 1. Матрица поворота на $\pi$: $R(\pi) = \begin{pmatrix} \cos\pi & -\sin\pi \\ \sin\pi & \cos\pi \end{pmatrix} = \begin{pmatrix} -1 & 0 \\ 0 & -1 \end{pmatrix} = -I$.
Шаг 2. Применим к точке $(\cos x, \sin x)$:
$$R(\pi)\begin{pmatrix}\cos x \\ \sin x\end{pmatrix} = \begin{pmatrix}-\cos x \\ -\sin x\end{pmatrix}$$Шаг 3. С другой стороны, эта же точка — это $(\cos(x+\pi), \sin(x+\pi))$. Сравнивая:
$$\cos(x + \pi) = -\cos x, \qquad \sin(x + \pi) = -\sin x$$Шаг 4. Обрати внимание на структуру матрицы $-I$: она не переставляет координаты местами (нет недиагональных единиц), а только домножает обе на $-1$. Именно поэтому функция не меняется на кофункцию — координаты остаются на своих местах, просто с другим знаком.
Ответ: $\cos(\pi + x) = -\cos x$, $\sin(\pi + x) = -\sin x$ — обе функции сохраняются, оба знака меняются на противоположные, что и требовалось показать. Матрица $R(\pi) = -I$ геометрически — это поворот на пол-оборота, то есть центральная симметрия относительно начала координат: любая точка переходит в диаметрально противоположную.
Почему это важно
Наблюдение «поворот на $\pi/2$ переставляет координаты, поворот на $\pi$ только меняет знаки» — это не просто способ запомнить формулы приведения, это рабочий факт из компьютерной графики и обработки изображений. Когда нужно повернуть картинку или тензор ровно на $90°$, $180°$ или $270°$, функции вроде numpy.rot90 или torch.rot90 не вызывают никакой тригонометрии вообще — они просто переставляют оси массива и, где нужно, разворачивают их. Это прямое следствие того, что при повороте на кратное $\pi/2$ координаты либо меняются местами, либо у них меняется знак — никакого умножения на дробные $\sin$ и $\cos$ не требуется. Поворот на произвольный угол, наоборот, всегда требует настоящих тригонометрических вычислений и интерполяции пикселей — отсюда разница в вычислительной стоимости на порядки.
Блок 3: Знак определяем по четверти — а не по интуиции
Интуиция
Правило «менять/не менять функцию» отвечает только на половину вопроса. Оно определяет какая функция стоит в ответе (синус, косинус, тангенс или котангенс от $x$), но не говорит, с каким знаком её брать. Знак — отдельная, полностью независимая задача, и здесь работает предельно простая логика: посмотри, в какой четверти лежит исходный (приводимый) угол при остром $x$, и возьми знак той функции, которую приводишь, в этой четверти.
Обрати внимание на тонкость, на которой чаще всего спотыкаются: знак берётся от функции до применения правила смены (то есть от той, что стоит в аргументе задачи), а не от функции после — хотя итоговый ответ, естественно, содержит уже готовый знак. Например, для $\text{tg}(3\pi/2 + x)$: мы приводим тангенс, значит смотрим на знак тангенса (не котангенса!) в той четверти, куда попадает $3\pi/2 + x$.
Здесь работает ровно та же таблица знаков, что ты уже использовал при определении синуса, косинуса, тангенса и котангенса на единичной окружности (уроки 92–94):
| Четверть | $\sin$ | $\cos$ | $\text{tg}$ | $\text{ctg}$ |
|---|---|---|---|---|
| I ($0$ до $\pi/2$) | $+$ | $+$ | $+$ | $+$ |
| II ($\pi/2$ до $\pi$) | $+$ | $-$ | $-$ | $-$ |
| III ($\pi$ до $3\pi/2$) | $-$ | $-$ | $+$ | $+$ |
| IV ($3\pi/2$ до $2\pi$) | $-$ | $+$ | $-$ | $-$ |
Определение (правило знака): Чтобы найти знак формулы приведения для угла $\dfrac{\pi}{2}k \pm x$ (где $x$ острый), определи, в какой четверти лежит этот угол — считая, что $x$ маленький и положительный. Возьми знак исходной функции (той, что стоит слева в равенстве) в этой четверти — это и есть знак ответа.
Практически это значит: не нужно ничего запоминать отдельно про знаки — таблица знаков по четвертям у тебя уже есть, а формулы приведения лишь просят применить её один раз для конкретного угла.
Примеры с разбором
Пример 1 (простой): определи знак в формуле для $\sin(\pi + x)$.
Решение:
Шаг 1. Угол $\pi + x$ при остром $x$ лежит между $\pi$ и $3\pi/2$ — это третья четверть.
Шаг 2. Мы приводим синус, значит смотрим знак синуса в третьей четверти: по таблице — минус.
Ответ: $\sin(\pi + x) = -\sin x$, знак минус, потому что синус в третьей четверти отрицателен. Проверка по числу: $x = \pi/6$ даёт $\sin(7\pi/6) = -1/2 < 0$ ✅
Пример 2 (средний): определи знак в формуле для $\text{tg}(3\pi/2 + x)$.
Решение:
Шаг 1. Угол $3\pi/2 + x$ при остром $x$ лежит между $3\pi/2$ и $2\pi$ — четвёртая четверть.
Шаг 2. Мы приводим тангенс — смотрим знак тангенса в четвёртой четверти: по таблице — минус.
Шаг 3. По правилу смены функции ($k = 3$, нечётное) тангенс меняется на котангенс.
Ответ: $\text{tg}(3\pi/2 + x) = -\text{ctg}\,x$. Проверка: $x = \pi/4$ даёт $\text{tg}(7\pi/4) = \text{tg}(-\pi/4) = -1$, а $-\text{ctg}(\pi/4) = -1$ ✅ Совпало.
Пример 3 (сложный): вычисли $\text{ctg}\!\left(\dfrac{11\pi}{6}\right)$, полностью применяя оба правила.
Решение:
Шаг 1. Представим $\dfrac{11\pi}{6} = 2\pi - \dfrac{\pi}{6}$, то есть это вид $2\pi - x$ с $x = \dfrac{\pi}{6}$. Здесь $k = 4$ — чётное, значит функция не меняется: остаётся котангенс.
Шаг 2. Определим четверть: угол $2\pi - x$ при малом остром $x$ лежит чуть меньше полного оборота — между $3\pi/2$ и $2\pi$, четвёртая четверть.
Шаг 3. Смотрим знак котангенса в четвёртой четверти: минус.
Шаг 4. Собираем формулу: $\text{ctg}(2\pi - x) = -\text{ctg}\,x$, значит
$$\text{ctg}\!\left(\frac{11\pi}{6}\right) = -\text{ctg}\!\left(\frac{\pi}{6}\right) = -\sqrt{3}$$Проверим наш ответ напрямую: $\dfrac{11\pi}{6} = 330°$, $\cos(330°) = \dfrac{\sqrt3}{2}$, $\sin(330°) = -\dfrac12$, значит $\text{ctg}(330°) = \dfrac{\sqrt3/2}{-1/2} = -\sqrt3$ ✅
Ответ: $\text{ctg}\!\left(\dfrac{11\pi}{6}\right) = -\sqrt{3}$.
Почему это важно
Умение предсказать знак заранее — это дешёвый, но очень надёжный способ проверки кода. Если ты знаешь, что угол лежит, скажем, в третьей четверти, и заранее ожидаешь отрицательный синус, а np.sin(x) в твоём скрипте вдруг вернул положительное число — это сигнал тревоги: либо угол на самом деле в градусах, а не в радианах (привет, урок 91), либо где-то накопилась ошибка знака при вычислении самого угла. В отладке физических симуляций, графики и любых вычислений с фазой такая «прикидка на пальцах» ловит баги быстрее, чем построчная трассировка кода.
Блок 4: Собираем алгоритм — полная таблица и приведение любого угла
Интуиция
Теперь у нас есть все детали конструктора: правило смены функции (Блок 2) и правило знака (Блок 3). Осталось собрать их в один линейный алгоритм, который работает для абсолютно любого угла — хоть $17\pi$, хоть $-1000°$. Идея та же, что в любой хорошей инженерной процедуре: сначала нормализовать вход, потом применить таблицу правил, а не городить условия «на глазок» для каждого частного случая.
Определение (алгоритм приведения):
- Если угол отрицательный или больше $2\pi$ по модулю — приведи его к промежутку $[0; 2\pi)$, прибавив или отняв нужное число полных оборотов $2\pi k$ (или воспользуйся нечётностью/чётностью функции для отрицательных углов напрямую).
- Представь получившийся угол в виде $\dfrac{\pi}{2}k \pm x$, где $k \in \{1,2,3,4\}$, а $x$ — острый угол.
- Определи, меняется ли функция на кофункцию: нечётное $k$ (группы $\pi/2$, $3\pi/2$) — меняется; чётное $k$ (группы $\pi$, $2\pi$) — не меняется.
- Определи знак: возьми знак исходной функции в той четверти, где лежит угол при остром $x$.
- Запиши ответ — функция (изменённая или нет) от $x$, с найденным знаком.
Вот полная сводная таблица всех восьми случаев — не для заучивания, а чтобы свериться и убедиться, что твой вывод по алгоритму совпадает:
| Угол | $\sin$ | $\cos$ | $\text{tg}$ | $\text{ctg}$ |
|---|---|---|---|---|
| $\dfrac{\pi}{2}-x$ | $\cos x$ | $\sin x$ | $\text{ctg}\,x$ | $\text{tg}\,x$ |
| $\dfrac{\pi}{2}+x$ | $\cos x$ | $-\sin x$ | $-\text{ctg}\,x$ | $-\text{tg}\,x$ |
| $\pi-x$ | $\sin x$ | $-\cos x$ | $-\text{tg}\,x$ | $-\text{ctg}\,x$ |
| $\pi+x$ | $-\sin x$ | $-\cos x$ | $\text{tg}\,x$ | $\text{ctg}\,x$ |
| $\dfrac{3\pi}{2}-x$ | $-\cos x$ | $-\sin x$ | $\text{ctg}\,x$ | $\text{tg}\,x$ |
| $\dfrac{3\pi}{2}+x$ | $-\cos x$ | $\sin x$ | $-\text{ctg}\,x$ | $-\text{tg}\,x$ |
| $2\pi-x$ (то есть $-x$) | $-\sin x$ | $\cos x$ | $-\text{tg}\,x$ | $-\text{ctg}\,x$ |
| $2\pi+x$ | $\sin x$ | $\cos x$ | $\text{tg}\,x$ | $\text{ctg}\,x$ |
📌 Последняя строка — это просто периодичность: прибавление полного оборота ничего не меняет ни в функции, ни в знаке.
Примеры с разбором
Пример 1 (простой): вычисли $\sin\!\left(\dfrac{11\pi}{3}\right)$.
Решение:
Шаг 1. Приведём к $[0; 2\pi)$: вычтем один оборот $2\pi = \dfrac{6\pi}{3}$: $\dfrac{11\pi}{3} - \dfrac{6\pi}{3} = \dfrac{5\pi}{3}$.
Шаг 2. Представим $\dfrac{5\pi}{3} = 2\pi - \dfrac{\pi}{3}$, то есть форма $2\pi - x$, $x = \dfrac{\pi}{3}$. По таблице: $\sin(2\pi-x) = -\sin x$.
Шаг 3. Считаем: $\sin\!\left(\dfrac{11\pi}{3}\right) = -\sin\!\left(\dfrac{\pi}{3}\right) = -\dfrac{\sqrt{3}}{2}$.
Ответ: $-\dfrac{\sqrt{3}}{2}$.
Пример 2 (средний): вычисли $\cos\!\left(-\dfrac{13\pi}{6}\right)$.
Решение:
Шаг 1. Косинус чётный: $\cos\!\left(-\dfrac{13\pi}{6}\right) = \cos\!\left(\dfrac{13\pi}{6}\right)$.
Шаг 2. Заметим, что $\dfrac{13\pi}{6} = 2\pi + \dfrac{\pi}{6}$ (так как $2\pi = \dfrac{12\pi}{6}$) — это ровно полный оборот плюс острый угол.
Шаг 3. По периодичности: $\cos\!\left(2\pi + \dfrac{\pi}{6}\right) = \cos\!\left(\dfrac{\pi}{6}\right) = \dfrac{\sqrt{3}}{2}$.
Ответ: $\cos\!\left(-\dfrac{13\pi}{6}\right) = \dfrac{\sqrt{3}}{2}$.
Пример 3 (сложный): вычисли $\sin\!\left(-\dfrac{29\pi}{4}\right)$.
Решение:
Шаг 1. Угол сильно отрицательный и по модулю больше нескольких оборотов. Найдём коэффициент для приведения: сколько раз $2\pi = \dfrac{8\pi}{4}$ нужно прибавить, чтобы попасть в разумный диапазон?
$$-\frac{29\pi}{4} + 4 \cdot 2\pi = -\frac{29\pi}{4} + \frac{32\pi}{4} = \frac{3\pi}{4}$$Мы прибавили ровно четыре полных оборота ($4 \cdot 2\pi = 8\pi$), значение функции от этого не меняется — синус периодичен с периодом $2\pi$.
Шаг 2. Значит $\sin\!\left(-\dfrac{29\pi}{4}\right) = \sin\!\left(\dfrac{3\pi}{4}\right)$.
Шаг 3. Представим $\dfrac{3\pi}{4} = \pi - \dfrac{\pi}{4}$ — форма $\pi - x$, $x = \dfrac{\pi}{4}$. По таблице: $\sin(\pi - x) = \sin x$ (функция не меняется, вторая четверть — синус там положителен).
Шаг 4. Считаем: $\sin\!\left(\dfrac{3\pi}{4}\right) = \sin\!\left(\dfrac{\pi}{4}\right) = \dfrac{\sqrt{2}}{2}$.
Ответ: $\sin\!\left(-\dfrac{29\pi}{4}\right) = \dfrac{\sqrt{2}}{2}$.
Наблюдение: обрати внимание на порядок действий — сначала «сбросили» лишние обороты (шаг устраняет всё, что кратно $2\pi$, независимо от знака), и только потом применили таблицу к тому, что осталось. Пытаться сразу впихнуть гигантский угол в одну из восьми строк таблицы — верный способ ошибиться в подсчёте четверти.
Почему это важно
Этот пятишаговый алгоритм — не абстрактная процедура для контрольной работы, а буквально то, что происходит внутри числовых библиотек при вычислении тригонометрии от больших чисел, и то, что тебе придётся продумывать вручную, когда пишешь собственный код с фазами: накопление угла поворота робота за много оборотов, фаза сигнала после долгой записи, угол в физическом симуляторе после тысяч шагов интегрирования. Если не приводить угол вовремя, число просто растёт неограниченно, теряя точность с плавающей запятой (при больших значениях расстояние между соседними представимыми числами double увеличивается, и вычисление синуса становится всё менее точным) — ровно та проблема, которую промышленные алгоритмы вроде Пейна — Ханека решают куда изощрённее, но по той же базовой схеме «приведи, потом вычисляй».
Блок 5: Приведение в сигналах и позиционном кодировании
Интуиция
Формулы приведения — это ещё и язык, на котором говорят инженеры связи и разработчики трансформеров, когда работают с квадратурными парами сигналов. Возьми обычную синусоиду $\sin(\omega t)$ и «сестринскую» к ней $\cos(\omega t)$: формула приведения $\sin(x + \pi/2) = \cos x$ говорит, что это буквально одна и та же волна, только вторая сдвинута по времени на четверть периода вперёд. Никакой отдельной «природы» у косинуса нет — это ровно тот же синус, только его снимок сделан на четверть оборота раньше.
Именно на этом построено позиционное кодирование трансформера: пара $\left(\sin\!\left(\dfrac{pos}{10000^{2i/d}}\right),\ \cos\!\left(\dfrac{pos}{10000^{2i/d}}\right)\right)$ — это не два независимых признака, а одна и та же периодическая функция позиции, снятая в двух точках фазы, ровно на $\pi/2$ друг от друга. Модель получает не просто число, а направление на окружности — и формулы приведения это направление гарантируют математически, а не «примерно».
Определение (квадратурное соотношение): Пара функций $\sin\theta$ и $\cos\theta$ одной и той же частоты называется квадратурной, потому что они связаны формулой приведения $\cos\theta = \sin\!\left(\theta + \dfrac{\pi}{2}\right)$ — то есть отличаются исключительно постоянным фазовым сдвигом в четверть периода, а не разной формой волны.
Примеры с разбором
Пример 1 (простой): проверь, что для $\theta = \pi/3$ выполняется $\cos\theta = \sin(\theta + \pi/2)$.
Решение:
Шаг 1. Левая часть: $\cos\!\left(\dfrac{\pi}{3}\right) = \dfrac{1}{2}$.
Шаг 2. Правая часть: $\sin\!\left(\dfrac{\pi}{3} + \dfrac{\pi}{2}\right) = \sin\!\left(\dfrac{5\pi}{6}\right)$.
Шаг 3. Представим $\dfrac{5\pi}{6} = \pi - \dfrac{\pi}{6}$: $\sin(\pi - x) = \sin x$, значит $\sin\!\left(\dfrac{5\pi}{6}\right) = \sin\!\left(\dfrac{\pi}{6}\right) = \dfrac{1}{2}$.
Ответ: обе части равны $\dfrac{1}{2}$ — квадратурное соотношение подтверждено ✅
Пример 2 (средний): в радиоприёмнике опорный косинусный сигнал $I(t) = A\cos(\omega t)$ формируют, задерживая на четверть периода $T = 2\pi/\omega$ синусный канал. Покажи с помощью формулы приведения, что $A\cos\!\left(\omega\left(t - \dfrac{T}{4}\right)\right) = A\sin(\omega t)$.
Решение:
Шаг 1. Заметим, что $\omega \cdot \dfrac{T}{4} = \omega \cdot \dfrac{2\pi}{4\omega} = \dfrac{\pi}{2}$. Значит задержка на четверть периода во времени — это сдвиг фазы ровно на $\pi/2$.
Шаг 2. Подставляем: $\cos\!\left(\omega t - \dfrac{\pi}{2}\right)$.
Шаг 3. Косинус — чётная функция, поэтому $\cos\!\left(\omega t - \dfrac{\pi}{2}\right) = \cos\!\left(\dfrac{\pi}{2} - \omega t\right)$.
Шаг 4. Применяем формулу приведения $\cos(\pi/2 - x) = \sin x$ с $x = \omega t$:
$$\cos\!\left(\frac{\pi}{2} - \omega t\right) = \sin(\omega t)$$Ответ: $A\cos\!\left(\omega\left(t - \dfrac{T}{4}\right)\right) = A\sin(\omega t)$ — задержка косинусного канала на четверть периода даёт ровно синусный канал, что и требовалось. Именно так на практике из одного генератора получают квадратурную пару $I/Q$, не строя два независимых генератора.
Пример 3 (сложный): вектор $(a, b) = (3, -4)$ поворачивают в механизме позиционного кодирования (в духе RoPE) на угол $\theta = 3\pi/2$. Найди новые координаты, используя, что поворот на $3\pi/2$ — частный случай формул приведения на границе, где $\cos(3\pi/2) = 0$, $\sin(3\pi/2) = -1$.
Решение:
Шаг 1. Матрица поворота: $R(\theta) = \begin{pmatrix}\cos\theta & -\sin\theta \\ \sin\theta & \cos\theta\end{pmatrix}$. При $\theta = 3\pi/2$: $\cos\theta = 0$, $\sin\theta = -1$, значит
$$R\!\left(\frac{3\pi}{2}\right) = \begin{pmatrix}0 & 1 \\ -1 & 0\end{pmatrix}$$Шаг 2. Применяем к вектору:
$$\begin{pmatrix}a' \\ b'\end{pmatrix} = \begin{pmatrix}0 & 1 \\ -1 & 0\end{pmatrix}\begin{pmatrix}3 \\ -4\end{pmatrix} = \begin{pmatrix}0\cdot3 + 1\cdot(-4) \\ -1\cdot3 + 0\cdot(-4)\end{pmatrix} = \begin{pmatrix}-4 \\ -3\end{pmatrix}$$Шаг 3. Заметим общую закономерность: поворот на $3\pi/2$ переводит $(a,b)$ в $(b, -a)$ — никакого умножения на дробные значения синуса и косинуса не требуется, потому что $\cos(3\pi/2) = 0$ обнуляет диагональ, а $\sin(3\pi/2) = -1$ и $-\sin(3\pi/2) = 1$ дают ровно перестановку со знаком.
Ответ: $(a', b') = (-4, -3)$.
Почему это важно
Квадратурное представление сигнала (пара синус/косинус одной частоты) лежит в основе почти всей цифровой связи — Wi-Fi, LTE, спутниковой навигации — именно потому, что формула приведения $\cos\theta = \sin(\theta+\pi/2)$ гарантирует: эти два канала несут независимую информацию (их называют ортогональными), не будучи при этом двумя разными сигналами — это один и тот же генератор, снятый в двух фазах. А в глубоком обучении та же самая пара синус/косинус используется в позиционном кодировании и в RoPE именно потому, что поворот вектора — линейная, обратимая, гладкая операция, и она естественно кодирует относительное расстояние между позициями через разность фаз. Когда ты видишь в коде трансформера строчку с torch.cos рядом со строчкой torch.sin от того же аргумента — знай, что перед тобой квадратурная пара, и всё, что с ней происходит при повороте, подчиняется формулам приведения этого урока.
Практика: 30 заданий
Базовые (задания 1-10)
Задание 1: Вычисли $\sin(150°)$.
Задание 2: Вычисли $\cos(240°)$.
Задание 3: Вычисли $\text{tg}(-60°)$.
Задание 4: Вычисли $\sin\!\left(\dfrac{3\pi}{4}\right)$.
Задание 5: Вычисли $\cos\!\left(-\dfrac{\pi}{3}\right)$.
Задание 6: Вычисли $\text{ctg}(135°)$.
Задание 7: Вычисли $\sin\!\left(\dfrac{11\pi}{6}\right)$.
Задание 8: Вычисли $\text{tg}\!\left(\dfrac{5\pi}{4}\right)$.
Задание 9: Вычисли $\cos\!\left(\dfrac{\pi}{2} + \dfrac{\pi}{6}\right)$.
Задание 10: Ток в сети описывается формулой $I(t) = I_0\cos(\omega t)$, $I_0 = 10$ А. В момент, когда $\omega t = \dfrac{\pi}{6}$, произошёл скачок фазы на $\dfrac{\pi}{2}$. Найди силу тока сразу после скачка, вычислив $I_0\cos\!\left(\dfrac{\pi}{6} + \dfrac{\pi}{2}\right)$.
Средние (задания 11-20)
Задание 11: Упрости $\sin(\pi - x)\cdot\cos\!\left(\dfrac{\pi}{2}+x\right)$ и вычисли при $x = \dfrac{\pi}{6}$.
Задание 12: Найди значение $\cos\!\left(\dfrac{3\pi}{2}-x\right) + \sin(\pi+x)$ при $x = \dfrac{\pi}{3}$.
Задание 13: Упрости $\dfrac{\sin(\pi-x)\cdot\text{tg}\!\left(\frac{\pi}{2}-x\right)}{\cos(-x)}$.
Задание 14: Реши уравнение $\sin x = \sin\!\left(\dfrac{2\pi}{3}\right)$ на промежутке $[0; 2\pi)$.
Задание 15: Упрости $\text{ctg}(2\pi-x)\cdot\sin(2\pi-x)$.
Задание 16: Докажи, используя формулу приведения, что $\cos(\omega t) = \sin(\omega t + \pi/2)$ — то есть что косинусный канал есть синусный канал, сдвинутый по фазе.
Задание 17: В позиционном кодировании аргумент оказался равен $\theta = \dfrac{5\pi}{6}$. Найди $\cos\theta$.
Задание 18: Найди все $x \in [0; 2\pi)$, для которых $\cos x = \cos\!\left(\dfrac{5\pi}{4}\right)$.
Задание 19: Упрости $\dfrac{\cos\!\left(\frac{\pi}{2}+x\right)\cdot\text{tg}(\pi-x)}{\sin(\pi+x)\cdot\text{ctg}\!\left(\frac{\pi}{2}-x\right)}$.
Задание 20: Покажи, что $\cos^2\!\left(\dfrac{\pi}{2}+\varphi\right) = \sin^2\varphi$, и вычисли значение при $\varphi = \dfrac{\pi}{6}$.
Продвинутые (задания 21-30)
Задание 21: Вычисли $\sin\!\left(\dfrac{29\pi}{4}\right)$.
Задание 22: Вычисли $\cos(-1290°)$.
Задание 23: Найди все $x \in [0;2\pi)$, для которых $\sin x = -\cos\!\left(\dfrac{\pi}{3}\right)$.
Задание 24: Докажи тождество $\cos\!\left(\dfrac{\pi}{2}+x\right)\cdot\text{ctg}(\pi-x) = \cos x$ и проверь численно при $x=\dfrac{\pi}{4}$.
Задание 25: Точка на единичной окружности имеет фазу $\varphi$. После поворота на $\pi$ новая фаза — $\varphi+\pi$. Покажи, что новые координаты равны $(-\cos\varphi, -\sin\varphi)$, и объясни, почему это то же самое, что просто сменить знак у обеих координат исходной точки.
Задание 26: Аргумент в спектральном анализе оказался равен $\dfrac{25\pi}{3}$. Приведи его к $[0;2\pi)$ и найди $\cos$ этого аргумента.
Задание 27: Упрости выражение $f(x) = \cos\!\left(\dfrac{3\pi}{2}+x\right) + \sin\!\left(\dfrac{\pi}{2}-x\right)$ формулами приведения, затем найди $f\!\left(\dfrac{\pi}{4}\right)$.
Задание 28: Пару координат $(a,b) = (3,-4)$ поворачивают (в духе RoPE) на угол $\theta=3\pi/2$. Пользуясь тем, что такой поворот переводит $(a,b)$ в $(b,-a)$ (см. Блок 5), найди результат.
Задание 29: Реши уравнение $\text{tg}(\pi+x) = \text{ctg}\!\left(\dfrac{\pi}{2}-x\right) - 1$.
Задание 30: В коде нашлась функция, которая должна возвращать $\cos\theta$, используя только синус, но выдаёт не то, что ожидалось. Найди ошибку.
import numpy as np
def quarter_shift(theta):
# должно возвращать cos(theta), используя только sin
return np.sin(theta - np.pi/2)
print(quarter_shift(np.pi/3)) # ожидали cos(pi/3) = 0.5, получили -0.5
Частые ошибки
❌ Ошибка 1: знак берут «на глаз», а не по четверти исходного угла
Неправильно: «$\text{tg}(\pi+x)$ — тут плюс превратился в минус где-то по пути, наверное минус».
Правильно: нужно явно определить четверть угла $\pi+x$ (третья, при остром $x$) и взять там знак тангенса (в третьей четверти он положителен) — получаем $\text{tg}(\pi+x)=+\text{tg}\,x$.
💡 Почему важно: интуитивная догадка про знак ошибается примерно в половине случаев — таблица знаков по четвертям работает всегда.
❌ Ошибка 2: считают, что $\pi$ тоже меняет функцию на кофункцию, как и $\pi/2$
Неправильно: $\sin(\pi+x) = \cos x$ (перепутали с формулами для $\pi/2$).
Правильно: $\pi$ — чётное число четвертей ($k=2$), функция не меняется: $\sin(\pi+x) = -\sin x$.
💡 Почему важно: меняют функцию только нечётные кратные $\pi/2$ (то есть $\pi/2$ и $3\pi/2$), потому что именно они соответствуют матрице поворота, переставляющей координаты местами. $\pi$ и $2\pi$ координаты не переставляют.
❌ Ошибка 3: забывают про чётность/нечётность при отрицательных углах
Неправильно: $\sin(-x) = \sin x$ (по аналогии с косинусом).
Правильно: синус, тангенс и котангенс — нечётные функции: $\sin(-x)=-\sin x$, $\text{tg}(-x)=-\text{tg}\,x$, $\text{ctg}(-x)=-\text{ctg}\,x$. Чётен только косинус: $\cos(-x)=\cos x$.
💡 Почему важно: это частный случай формулы для $2\pi - x$ (или, что то же самое, $-x$), и путаница здесь моментально портит знак во всей дальнейшей цепочке вычислений.
❌ Ошибка 4: пытаются применить формулу приведения напрямую к углу вне промежутка $[0;2\pi)$
Неправильно: сразу искать, «какая это четверть», для угла $\dfrac{29\pi}{4}$, не приведя его сначала к оборотам.
Правильно: сначала вычесть (или прибавить) целое число полных оборотов $2\pi k$, и только затем определять четверть и применять таблицу.
💡 Почему важно: без предварительного приведения к $[0;2\pi)$ легко ошибиться в подсчёте четверти — угол вроде $\dfrac{29\pi}{4} \approx 22{,}8$ рад совершенно не очевиден на глаз, пока не «сброшены» лишние обороты.
❌ Ошибка 5: путают, знак какой функции нужно смотреть — исходной или итоговой
Неправильно: для $\text{ctg}(3\pi/2-x)$ смотрят знак тангенса в нужной четверти (потому что в ответе окажется тангенс).
Правильно: знак нужно брать от исходной функции — той, что стоит в условии задачи (здесь — котангенса), а не от той, что появится в ответе после смены на кофункцию.
💡 Почему важно: знак и смена функции — это два независимых шага алгоритма, и путать их местами означает получать случайно правильный ответ примерно в половине случаев, а не системно верный.
❌ Ошибка 6: подают в тригонометрические функции градусы вместо радианов при проверке формул
Неправильно: np.cos(90) в надежде получить $0$, как $\cos(90°)$.
Правильно: np.cos(np.pi/2) — либо явно переводить через np.deg2rad(90).
💡 Почему важно: формулы приведения одинаково верны что в градусах, что в радианах, но код почти всегда ждёт радианы (см. урок 91) — молчаливая путаница единиц выдаёт неверный знак или неверное значение без единой ошибки выполнения.
Главное запомнить
✅ Формулы приведения сводят тригонометрическую функцию любого угла вида $\dfrac{\pi}{2}k \pm x$ к функции острого угла $x$.
✅ Правило смены функции: нечётное число четвертей ($\pi/2$, $3\pi/2$) меняет функцию на кофункцию ($\sin \leftrightarrow \cos$, $\text{tg}\leftrightarrow\text{ctg}$); чётное ($\pi$, $2\pi$) — не меняет.
✅ Геометрическая причина смены функции — матрица поворота на $\pi/2$ переставляет координаты местами (с одним знаком минус), а матрица поворота на $\pi$ равна $-I$ и только меняет знаки, не переставляя координаты.
✅ Правило знака: знак ответа равен знаку исходной функции в той четверти, куда попадает приводимый угол при остром $x$ — таблица знаков та же, что для острых углов на единичной окружности.
✅ Алгоритм на любой угол: сначала приведи угол к $[0;2\pi)$, затем представь как $\dfrac{\pi}{2}k \pm x$, определи смену функции по чётности $k$, определи знак по четверти, собери ответ.
✅ Чётность/нечётность как частный случай: $\cos(-x)=\cos x$ (чётная), $\sin(-x)=-\sin x$, $\text{tg}(-x)=-\text{tg}\,x$, $\text{ctg}(-x)=-\text{ctg}\,x$ (нечётные).
✅ Периодичность ($2\pi$ для синуса и косинуса) — тоже частный случай: прибавление $2\pi$ ничего не меняет ни в функции, ни в знаке.
✅ В коде и вычислениях: приведение угла к маленькому каноническому диапазону — общий приём, лежащий в основе аргументной редукции в библиотеках вроде glibc и в квадратурных парах сигналов.
✅ Формулы приведения — частный случай более общих формул сложения (следующий урок 97): там же самое выводится для $\sin(\alpha\pm\beta)$ и $\cos(\alpha\pm\beta)$ при произвольных, а не только «кратных $\pi/2$», углах.
✅ Не нужно заучивать все 32 формулы наизусть — их можно вывести за несколько секунд по алгоритму из двух правил, и именно так к ним и стоит подходить на практике.
Связь с другими темами курса
Что было раньше: радианная мера угла (урок 91) и приведение угла к $[0;2\pi)$ — этот навык здесь используется на первом шаге алгоритма. Единичная окружность (урок 92) и определения синуса, косинуса, тангенса, котангенса (уроки 93–94) — именно на их геометрии строится вся симметрия формул приведения. Основное тригонометрическое тождество (урок 95) регулярно всплывает при упрощении выражений вместе с формулами приведения, как в нескольких заданиях практики.
Что дальше: формулы приведения — это частный, «вырожденный» случай куда более общих формул сложения $\sin(\alpha\pm\beta)$, $\cos(\alpha\pm\beta)$, которые ждут в следующем уроке (97) — там ты увидишь, что формула $\sin(\pi/2+x)=\cos x$ на самом деле выводится из общей формулы синуса суммы, если подставить $\alpha=\pi/2$. Дальше по курсу — формулы двойного и половинного угла, тригонометрические уравнения (где приведение угла помогает искать все серии решений), а много позже, в уроке 133, — производная тригонометрических функций: там формулы приведения снова понадобятся, чтобы упрощать выражения вида $\sin(x+\pi/2)$ при вычислении пределов, хотя саму производную мы здесь не трогаем.
Где это применяется в жизни, в ML и в данных:
🤖 В машинном обучении: позиционное кодирование трансформера и RoPE строятся на квадратурных парах $\sin/\cos$, связанных формулой приведения $\cos\theta = \sin(\theta+\pi/2)$; повороты изображений и тензоров на $90°$, $180°$, $270°$ в аугментации данных выполняются без единого вызова тригонометрической функции — ровно потому, что эти углы дают «вырожденные» матрицы поворота из Блока 2.
📊 В data science: циклическое кодирование признаков (час, день недели, направление ветра) через $\left(\sin\frac{2\pi t}{T}, \cos\frac{2\pi t}{T}\right)$ — та же квадратурная пара.
💻 В программировании и графике: быстрые повороты спрайтов на прямой угол через перестановку координат вместо вызова sin/cos; редукция аргумента в библиотеках математики для больших входных чисел.
📡 В связи и обработке сигналов: квадратурная модуляция ($I/Q$-сигналы) в Wi-Fi, LTE и радиосвязи целиком построена на формуле $\cos\theta=\sin(\theta+\pi/2)$.
🔬 В физике: фаза колебаний и волн, где сдвиг на $\pi/2$ или $\pi$ мгновенно даёт готовое соотношение между функциями без пересчёта с нуля.
Интересные факты
💡 Абу-ль-Вафа и рождение полного набора формул. Арабский астроном и математик X века Абу-ль-Вафа Бузджани был первым, кто ввёл в систематическое употребление все шесть тригонометрических функций и явно сформулировал соотношения между функциями дополнительных углов. Благодаря этому таблицы, которые раньше занимали тысячи строк, сжались до расчётов для одной восьмушки круга.
💡 Аргументная редукция — промышленный потомок формул приведения. Когда нужно вычислить $\sin(x)$ для огромного $x$ (скажем, $10^{20}$) с полной точностью double, наивное «взять $x$ по модулю $2\pi$» через fmod не работает — число $\pi$ иррационально и не представимо точно в двоичной системе, поэтому ошибка накапливается катастрофически. Библиотеки вроде glibc используют алгоритм Пейна — Ханека: хранят десятки тысяч точных двоичных цифр числа $1/\pi$ и с их помощью приводят аргумент к маленькому диапазону без потери точности — та же идея приведения, доведённая до предела инженерной строгости.
💡 Повороты на $90°$ почти бесплатны для процессора. Функция numpy.rot90, поворачивающая изображение или тензор на $90°$, не вызывает ни одной тригонометрической функции — она просто переставляет и разворачивает оси массива. Это прямое следствие того, что $\sin$ и $\cos$ от $90°$, $180°$, $270°$ равны $0$ или $\pm1$, и матрица поворота на эти углы вырождается в чистую перестановку координат — та самая идея из Блока 2.
💡 Квадратура старше радио на два века. Идея представлять колебание парой $\sin$/$\cos$ одной частоты («квадратурными» компонентами) пришла из классической механики и акустики XVIII–XIX веков задолго до появления радиосвязи — а сегодня это же математическое ядро лежит в основе Wi-Fi, LTE-модуляции и трансформерных архитектур, которые о существовании друг друга даже не подозревали при создании.
Лайфхаки и полезные трюки
1. «Вертикаль меняет, горизонталь — нет»
Если добавляемый/вычитаемый базовый угол стоит на «вертикальной» границе окружности ($\pi/2$, $3\pi/2$) — функция меняется на кофункцию. Если на «горизонтальной» ($0$, $\pi$, $2\pi$) — не меняется. Это буквально повторяет вывод через матрицу поворота: вертикальные точки соответствуют матрицам, которые переставляют координаты.
2. Знак — по своей же таблице четвертей
Не учи знаки формул приведения отдельным списком. У тебя уже есть таблица знаков синуса/косинуса/тангенса/котангенса по четвертям из уроков 93–94 — формулы приведения используют её напрямую, без модификаций.
3. Выводи формулу за 10 секунд, а не вспоминай
Вместо того чтобы судорожно вспоминать, как звучит формула для $\cos(3\pi/2-x)$, за пять секунд определи: (1) $k=3$ — нечётное, функция меняется на синус; (2) четверть угла $3\pi/2-x$ — третья, косинус там отрицателен. Готово: $\cos(3\pi/2-x) = -\sin x$. Дольше объяснять, чем сделать.
4. Проверяй формулу на одном конкретном числе
Прежде чем использовать выведенную формулу дальше в решении, подставь любой удобный острый угол (например, $\pi/6$) и сверь обе части численно. Это ловит почти все ошибки со знаком за десять секунд, ещё до того как ошибка распространится по всему решению.
5. В коде — предсказывай знак заранее, чтобы ловить баги в единицах измерения
Если по формулам приведения ты ожидаешь отрицательное значение, а np.sin(x) в коде вернул положительное — прежде чем искать ошибку в архитектуре, проверь, не перепутаны ли градусы с радианами (урок 91) и правильно ли вычислен сам угол x.
6. Для поворотов, кратных $90°$, не вызывай тригонометрию вообще
Если в коде нужно повернуть вектор или изображение ровно на $90°$, $180°$ или $270°$, замени вызов sin/cos и умножение на матрицу прямой перестановкой координат со сменой знака — быстрее, точнее (никакой ошибки округления от вычисления $\sin(\pi/2)$ как 0.9999999999999999 вместо ровной единицы) и нагляднее.
Формулы приведения — это, по сути, каталог симметрий одной-единственной окружности, оформленный в виде расчётных правил. Как только ты перестаёшь видеть в них тридцать две формулы для заучивания и начинаешь видеть два простых правила — про смену функции и про знак — вся эта тема сжимается до пары минут размышления на любую задачу, какой бы страшный угол в ней ни стоял.
А теперь попробуй сам: возьми любой угол, который выглядит пугающе — хоть $-2024°$, хоть $\dfrac{100\pi}{3}$ — и проведи его через весь алгоритм с нуля, до готового числа. Дальше нас ждут формулы сложения (урок 97): там ты увидишь, что всё, что мы вывели сегодня для «круглых» углов вроде $\pi/2$ и $\pi$, — лишь частный случай куда более мощного инструмента, работающего для суммы и разности вообще любых двух углов. 🚀
Понял тему? Закрепи в боте! 🚀
Попрактикуйся на задачах и получи персональные рекомендации от AI
💪 Начать тренировку