Матрица преобразования — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Композиция преобразований)
Строка 1: Строка 1:
 +
{| class="wikitable" align="center" style="color: red; background-color: black; font-size: 56px; width: 800px;"
 +
|+
 +
|-align="center"
 +
|'''НЕТ ВОЙНЕ'''
 +
|-style="font-size: 16px;"
 +
|
 +
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян.
 +
 +
Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием.
 +
 +
Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей.
 +
 +
Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить.
 +
 +
''Антивоенный комитет России''
 +
|-style="font-size: 16px;"
 +
|Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению.
 +
|-style="font-size: 16px;"
 +
|[https://meduza.io/ meduza.io], [https://www.youtube.com/c/popularpolitics/videos Популярная политика], [https://novayagazeta.ru/ Новая газета], [https://zona.media/ zona.media], [https://www.youtube.com/c/MackNack/videos Майкл Наки].
 +
|}
 +
 
Будем рассматривать двумерный случай.
 
Будем рассматривать двумерный случай.
  

Версия 08:21, 1 сентября 2022

НЕТ ВОЙНЕ

24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян.

Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием.

Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей.

Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить.

Антивоенный комитет России

Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению.
meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки.

Будем рассматривать двумерный случай.

Матрица преобразования - это некоторая матрица [math] 3 \times 3 [/math]. Мы будем рассматривать матрицы вида [math] \left(\begin{array}{ccc} a & b & t_x\\ c & d & t_y\\ 0 & 0 & 1 \end{array}\right) [/math]

Допустим есть какое-то преобразование [math] F [/math], и [math] F(P) = P' [/math] (к точке [math] P [/math] применили преобразование [math] F [/math] и получили точку [math] P' [/math]).

Тогда матрица преобразования [math] F [/math], умноженная на однородные координаты [math] P [/math], даёт однородные координаты [math] P' [/math].

В каком-то смысле, любое линейное преобразование одновременно является матрицей, так же как точка — это набор координат.


Посмотрим как меняются координаты при преобразовании.

[math] F \left(\begin{array}{c} x\\ y\\ 1 \end{array}\right) = [/math] [math] \left(\begin{array}{ccc} a & b & t_x\\ c & d & t_y\\ 0 & 0 & 1 \end{array}\right) \cdot [/math] [math] \left(\begin{array}{c} x\\ y\\ 1 \end{array}\right) = [/math] [math] \left(\begin{array}{c} a x + b y + t_x\\ c x + d y + t_y\\ 1 \end{array}\right) [/math].

То есть новые координаты как-то линейно зависят от старых.

Рассмотрим частные случаи преобразований.


Базовые преобразования

Параллельный перенос

Задаёт преобразование [math] x \rightarrow x + t_x ,\ y \rightarrow y + t_y [/math].

Обозначается [math] T_{\overrightarrow v} [/math], где [math] \overrightarrow v = (t_x, t_y) [/math] — вектор параллельного переноса.

[math] T_{(t_x, t_y)} = \left(\begin{array}{ccc} 1 & 0 & t_x\\ 0 & 1 & t_y\\ 0 & 0 & 1 \end{array}\right) [/math]

Пример Задача: Найдите новые координаты точки [math] (6, 9) [/math] после параллельного переноса плоскости на вектор [math] \overrightarrow v = (1, 2) [/math].

Решение: [math] T_{(a, b)} (\left(\begin{array}{c} 6\\ 9\\ 1 \end{array}\right)) = [/math] [math] \left(\begin{array}{ccc} 1 & 0 & 1\\ 0 & 1 & 2\\ 0 & 0 & 1 \end{array}\right) \cdot [/math] [math] \left(\begin{array}{c} 6\\ 9\\ 1 \end{array}\right) = [/math] [math] \left(\begin{array}{c} 6 + 1\\ 9 + 2\\ 1 \end{array}\right) = [/math] [math] \left(\begin{array}{c} 7\\ 11\\ 1 \end{array}\right) [/math]

Вполне ожидаемый ответ.


Масштабирование вдоль осей

Задаёт преобразование [math] x \rightarrow s_x x ,\ y \rightarrow s_y y [/math].

Будем обозначать как [math] S_{s_x, s_y} [/math]. Числа [math] s_x [/math] и [math] s_y [/math] называются коэффициентами масштабирования.

[math] S_{s_x, s_y} = \left(\begin{array}{ccc} s_x & 0 & 0\\ 0 & s_y & 0\\ 0 & 0 & 1 \end{array}\right) [/math]

Пример

Задача: Найдите новые координаты точки [math] (3, 5) [/math] после масштабирования по оси [math] O_x [/math] с коэффициентом 2 (по оси [math] O_y [/math] масштаб остаётся таким же).

Решение: [math] S_{2, 1} (\left(\begin{array}{c} 3\\ 5\\ 1 \end{array}\right)) = [/math] [math] \left(\begin{array}{ccc} 2 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{array}\right) \cdot [/math] [math] \left(\begin{array}{c} 3\\ 5\\ 1 \end{array}\right) = [/math] [math] \left(\begin{array}{c} 2 \cdot 3\\ 1 \cdot 5\\ 1 \end{array}\right) = [/math] [math] \left(\begin{array}{c} 6\\ 5\\ 1 \end{array}\right) [/math]


Поворот относительно начала координат

Обозначается [math] R^\alpha [/math], где [math] \alpha [/math] — угол поворота. Как обычно, [math] \alpha \gt 0 [/math] при повороте против часовой стрелки, и [math] \alpha \lt 0 [/math] при повороте по часовой стрелке.

[math] R^\alpha = \left(\begin{array}{ccc} \cos \alpha & - \sin \alpha & 0\\ \sin \alpha & \cos \alpha & 0\\ 0 & 0 & 1 \end{array}\right) [/math]

Пример Задача: Найдите новые координаты точки [math] (5, 1) [/math] после поворота плоскости на [math] 90 [/math] °.

Решение: [math] R^{90} = \left(\begin{array}{ccc} 0 & -1 & 0\\ 1 & 0 & 0\\ 0 & 0 & 1 \end{array}\right) [/math]

[math] R^{90} (\left(\begin{array}{cc} 5\\ 1\\ 1 \end{array}\right)) = [/math] [math]\left(\begin{array}{ccc} 0 & -1 & 0\\ 1 & 0 & 0\\ 0 & 0 & 1 \end{array}\right) \cdot [/math] [math] \left(\begin{array}{cc} 5\\ 1\\ 1 \end{array}\right) = [/math] [math] \left(\begin{array}{cc} -1\\ 5\\ 1 \end{array}\right) [/math]


Замечание

[math] R^{180} = \left(\begin{array}{ccc} -1 & 0 & 0\\ 0 & -1 & 0\\ 0 & 0 & 1 \end{array}\right) [/math], то есть центральная симметрия относительно начала координат меняет координаты точки на противоположные.


Тождественное преобразование

Это преобразование, оставляющее все точки неподвижными.

Его матрица: [math] I = \left(\begin{array}{ccc} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{array}\right) [/math]

Композиция преобразований

[math] (g \circ f) x  = g (f (x)) [/math]


Задача: к точке [math] (3, 5) [/math] применили осевую симметрию относительно [math] O_x [/math], и затем применили параллельный перенос на [math] \overrightarrow{(2, 1)} [/math]. Какие новые координаты у точки?

Решение: обозначим нашу точку за [math] P [/math], новую точку за [math] P' [/math]

Посчитаем двумя способами.

1) [math] P' = S_{1, -1}(T_{\overrightarrow{(3, 2)}}(P)) = \left(\begin{array}{ccc} 1 & 0 & 2\\ 0 & 1 & 1\\ 0 & 0 & 1 \end{array}\right) \cdot [/math] [math] (\left(\begin{array}{ccc} 1 & 0 & 0\\ 0 & -1 & 0\\ 0 & 0 & 1 \end{array}\right) \cdot [/math] [math] \left(\begin{array}{c} 3\\ 5\\ 1 \end{array}\right)) = [/math] [math] \left(\begin{array}{ccc} 1 & 0 & 2\\ 0 & 1 & 1\\ 0 & 0 & 1 \end{array}\right) \cdot [/math] [math] \left(\begin{array}{c} 3\\ -5\\ 1 \end{array}\right) = [/math] [math] \left(\begin{array}{c} 5\\ -4\\ 1 \end{array}\right) [/math]


2) Воспользуемся ассоциативностью умножения матриц (сочетательный закон)

[math] P' = S_{1, -1}(T_{\overrightarrow{(3, 2)}}(P)) = \left(\begin{array}{ccc} 1 & 0 & 2\\ 0 & 1 & 1\\ 0 & 0 & 1 \end{array}\right) \cdot [/math] [math] (\left(\begin{array}{ccc} 1 & 0 & 0\\ 0 & -1 & 0\\ 0 & 0 & 1 \end{array}\right) \cdot [/math] [math] \left(\begin{array}{c} 3\\ 5\\ 1 \end{array}\right)) = [/math] [math] (\left(\begin{array}{ccc} 1 & 0 & 2\\ 0 & 1 & 1\\ 0 & 0 & 1 \end{array}\right) \cdot [/math] [math] \left(\begin{array}{ccc} 1 & 0 & 0\\ 0 & -1 & 0\\ 0 & 0 & 1 \end{array}\right)) \cdot [/math] [math] \left(\begin{array}{c} 3\\ 5\\ 1 \end{array}\right) = [/math] [math] \left(\begin{array}{ccc} 1 & 0 & 2\\ 0 & -1 & 1\\ 0 & 0 & 1 \end{array}\right) \cdot [/math] [math] \left(\begin{array}{c} 3\\ 5\\ 1 \end{array}\right) = [/math] [math] \left(\begin{array}{c} 5\\ -4\\ 1 \end{array}\right) [/math]

Заметим, что [math] \left(\begin{array}{ccc} 1 & 0 & 2\\ 0 & -1 & 1\\ 0 & 0 & 1 \end{array}\right) [/math] — тоже какая-то матрица преобразования, в данном случае "осевая симметрия относительно [math] O_x [/math], с последующим параллельным переносом на [math] \overrightarrow{(2, 1)} [/math]"

Действительно, [math] P' = S_{1, -1}(T_{\overrightarrow{(2, 1)}}(P)) = (S_{1, -1} \circ T_{\overrightarrow{(2, 1)}}) P [/math]

Тогда матрица для [math] (S_{1, -1} \circ T_{\overrightarrow{(2, 1)}}) [/math] будет [math] \left(\begin{array}{ccc} 1 & 0 & 2\\ 0 & -1 & 1\\ 0 & 0 & 1 \end{array}\right) [/math].

Получается, при композиции преобразований их матрицы перемножаются.