В этом видео мы выведем формулу для линейного оператора поворота на плоскости на 30 градусов и посмотрим на ее свойства. Давайте рассмотрим плоскость x1 — x2 и рассмотрим тут произвольный вектор a, и повернем его на 30 градусов против часовой стрелки. Получится у нас вектор b, конечно, такой же длины, как a, который равен оператору поворота (R) умножить на a. Мы попытаемся вывести формулу для R. Естественно, a на плоскости состоит из двух координат (a1, a2) и b тоже состоит из двух координат (b1, b2). Для начала попробуем повернуть векторы единичной длины. Для этого рассмотрим единичную окружность, и на единичной окружности наш вектор а и b отсекают два вектора единичной длины. Давайте назовем их "a с тильдой" и "b с тильдой". Попробуем для начала повернуть вектор a с тильдой; естественно, он будет поворачиваться ровно на те же самые 30 градусов. Итак, вектор a с тильдой равен, с одной стороны — это (a1 с тильдой, a2 с тильдой), а с другой стороны, поскольку окружность единичная, то горизонтальная ось также несет в себе смысл как косинус угла, а вертикальная ось несет в себе смысл как синус угла. Поэтому, если это угол Альфа, то координаты вектора a с тильдой — это косинус Альфа и синус Альфа, (косинус Альфа и синус Альфа). Аналогично: координаты вектора b с тильдой — это (b1 с тильдой, b2 с тильдой), а с другой стороны, поскольку вектор b с тильдой образует угол на 30 градусов больший, то это (косинус Альфа плюс 30, синус Альфа плюс 30). Вспомнив формулы косинуса суммы и синуса суммы, мы немедленно получаем, что это (косинус Альфа косинус 30 минус синус Альфа синус 30), и вторая компонента имеет вид (косинус Альфа синус 30 плюс синус Альфа косинус 30). И для частного случая, когда вектор имеет единичную длину, мы получили готовый результат: это a1 с тильдой (поскольку косинус Альфа — это a1 с тильдой) на косинус 30 градусов минус a2 с тильдой на синус 30 градусов, и вторая компонента вектора b с тильдой имеет вид (a1 с тильдой синус 30 градусов плюс a2 с тильдой на косинус 30 градусов) — это вектор b с тильдой. Теперь давайте посмотрим, что изменится, если мы рассмотрим произвольный вектор a, не обязательно единичной длины. Заметим, что вектор a с тильдой — это есть не что иное, как вектор a, поделенный на его длину. Соответственно, при повороте длина вектора не меняется, поэтому мы получим, что b с тильдой имеет точно такую же формулу, только вместо a с тильдой должны стоять а, деленные на длину a. Мы получим b с тильдой, а здесь будет та же самая формула: (a1, деленная на длину a, на косинус 30 минус a2, деленная на длину a, на синус 30); и вторая компонента вектора b с тильдой имеет вид (a1, деленная на длину a, умножить на синус 30 плюс вторая компонента вектора a, деленная на длину, умножить на косинус 30 градусов). Теперь, чтобы от b с тильдой перейти к вектору b, я обратно должен домножить на длину b, но длина b такая же, как длина a, поэтому получается для вектора b совершенно аналогичная формула: это (a1 умножить на косинус 30 минус a2 умножить на синус 30, a1 умножить на синус 30 плюс a2 умножить на косинус 30). Давайте заметим, что наш результат имеет довольно простой вид. Его можно записать как: a1 умножить на (косинус 30, синус 30) плюс a2 умножить на (минус синус 30, косинус 30 градусов). Этот результат подчеркивает нам линейность оператора. Действительно, наш поворот a, как мы выяснили из геометрических свойств, линеен, то есть R от (a1, a2) я могу представить как R, действующий на сумму: a1 помножить на (1, 0) плюс a2 помножить на (0, 1). В силу линейности оператора R я получу, что это a1 помножить на повернутый вектор (1, 0) плюс a2 помножить на повернутый вектор (0, 1). Ровно эту структуру ответа мы видим в нашем случае: вектор (косинус 30, синус 30) — это ничто иное, как повернутый вектор (1, 0), а вектор (минус синус 30, косинус 30) — это ничто иное, как повернутый вектор (0, 1). В следующем видео мы аналогично выведем формулу для оператора проецирования.