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

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
 +
Будем рассматривать двумерный случай.
 +
 +
Матрица преобразования - это некоторая матрица <tex> 3 \times 3 </tex>. Мы будем рассматривать матрицы вида
 +
<tex> F = \left(\begin{array}{ccc}
 +
a & b & t_x\\
 +
c & d & t_y\\
 +
0 & 0 & 1
 +
\end{array}\right) </tex>
 +
 +
Посмотрим как меняются координаты при таком преобразовании.
 +
 +
<tex> F \left(\begin{array}{c}
 +
x\\
 +
y\\
 +
1
 +
\end{array}\right)  =
 +
</tex>
 +
<tex>  \left(\begin{array}{ccc}
 +
a & b & t_x\\
 +
c & d & t_y\\
 +
0 & 0 & 1
 +
\end{array}\right) \cdot
 +
</tex>
 +
<tex> \left(\begin{array}{c}
 +
x\\
 +
y\\
 +
1
 +
\end{array}\right)  =
 +
</tex>
 +
<tex> \left(\begin{array}{c}
 +
a x + b y + t_x\\
 +
c x + d y + t_y\\
 +
1
 +
\end{array}\right)
 +
</tex>.
 +
 +
То есть новые координаты как-то линейно зависят от старых.
 +
 +
Рассмотрим частные случаи преобразований.
 +
  
  
Строка 4: Строка 44:
  
 
=== Параллельный перенос ===
 
=== Параллельный перенос ===
Задаёт преобразование <tex> x \rightarrow x + a ,\ y \rightarrow y + b </tex>.
+
Задаёт преобразование <tex> x \rightarrow x + t_x ,\ y \rightarrow y + t_y </tex>.
  
Обозначается <tex> T_{\overrightarrow v} </tex>, где <tex> \overrightarrow v = (a, b) </tex>  {{---}}  вектор параллельного переноса.
+
Обозначается <tex> T_{\overrightarrow v} </tex>, где <tex> \overrightarrow v = (t_x, t_y) </tex>  {{---}}  вектор параллельного переноса.
  
<tex> T_{(a, b)} = \left(\begin{array}{ccc}
+
<tex> T_{(t_x, t_y)} = \left(\begin{array}{ccc}
1 & 0 & a\\
+
1 & 0 & t_x\\
0 & 1 & b\\
+
0 & 1 & t_y\\
 
0 & 0 & 1
 
0 & 0 & 1
 
\end{array}\right) </tex>
 
\end{array}\right) </tex>

Версия 17:29, 14 февраля 2016

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

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