RU: Frame of Reference

Геометрические примитивы

Система координат

Описанию системы координат мы посвятим несколько страниц. На этой странице кратко приводятся основные математические понятия. На странице Frame of Reference (1) описывается одномерная система координат (класс gp_Ax1). На странице Frame of Reference (2) описывается двумерная система координат (класс gp_Ax2), а на странице Frame of Reference (3) — система координат в трехмерном пространстве (класс gp_Ax3). Страница Frame of Reference (4) посвящена описанию средства отображения (рисования) системы координат (класс AIS_Trihedron).

Математическое введение

Зафиксируем в пространстве некоторую точку $O$, которую будем называть началом системы отсчета или началом системы координат. Отложим от этой точки три произвольные ненулевые некомпланарные вектора ${\bf e}_1$, ${\bf e}_2$, ${\bf e}_3$. Совокупность $(O,{\bf e}_1, {\bf e}_2, {\bf e}_3)$ точки отсчета и векторов называют системой координат (базисом).

Любой вектор ${\bf a}$ можно разложить по векторам базиса:

(1)
\begin{align} {\bf a} = a_1{\bf e}_1+a_2{\bf e}_2+a_3{\bf e}_3 \end{align}

Числа $a_1, a_2, a_3$ называют координатами или компонентами вектора в данной системе координат.

Итак, при фиксированной системе координат каждому вектору можно однозначно поставить в соответствие три числа — его координаты, и любым трем числам, рассматривая их как координаты, можно поставить в соответствие вектор. Легко видеть, что

  • если два вектора равны, то равны и их координаты;
  • координаты суммы векторов равны сумме (с учетом знака) координат слагаемых;
  • при умножении вектора на число его координаты умножаются на это число.

При фиксированной системе координат положение любой точки $M$ в пространстве можно задавать вектором, проведенным из начала координат $O$ в точку $M$, т.е. вектором ${\bf r}_M=\overrightarrow{OM}$, который называют радиус-вектором точки $M$ в данной системе отсчета (в данной системе координат). Таким образом каждой точке пространства ставятся в соответствие координаты, координаты радиус-вектора этой точки.

Если векторы базиса ${\bf e}_1, {\bf e}_2, {\bf e}_3$ имеют единичную длину и перпендикулярны друг другу, то такую систему координат называют it декартовой. В декартовой системе координат запись многих формул значительно упрощается. Векторы базиса в этом случае принято обозначать ${\bf i}, {\bf j}, {\bf k}$, причем линию, вдоль которой направлен вектор ${\bf i}$, принято называть осью $x$, линию, вдоль которой направлен вектор ${\bf j}$, принято называть осью $y$, а линию вектора ${\bf k}$ — осью $z$. Декартова система координат называется правой, если с конца вектора ${\bf k}$ поворот на угол $90^\circ$ от вектора ${\bf i}$ к вектору ${\bf j}$ выполняется против часовой стрелки. В противном случае система координат называется левой. Обычно, если не оговорено особо, используется правая система координат.

В случае декартовой системы координат разложение вектора по базису принято записывать в виде

(2)
\begin{align} {\bf a} = a_x{\bf i}+a_y{\bf j}+a_z{\bf k} \end{align}

и числа $a_x, a_y, a_z$ называют декартовыми координатами вектора. Декартовы координаты совпадают с проекциями вектора на оси координат (именно это и приводит к упрощению формул):

(3)
\begin{align} a_x = |{\bf a}|\cos({\bf a}^\wedge{\bf i}), \qquad a_y = |{\bf a}|\cos({\bf a}^\wedge{\bf j}), \qquad a_z = |{\bf a}|\cos({\bf a}^\wedge{\bf k}) \end{align}

где через $\cos({\bf a}^\wedge{\bf i})$ обозначен косинус угла между векторами ${\bf a}$ и ${\bf i}$ и так далее.

Согласно теореме Пифагора длина вектора вычисляется через его декартовы координаты по формуле:

(4)
\begin{align} |{\bf a}| = \sqrt{a_x^2+a_y^2+a_z^2} \end{align}

Значения координат вектора определяются не только самим вектором, но и системой координат, в которой они вычислены. Обсудим преобразование компонент вектора при изменении системы координат.

Зафиксируем в пространстве декартову систему координат $(O,{\bf i},{\bf j},{\bf k})$. В дальнейшем, ради удобства записи формул, мы будем использовать обозначение $(O,{\bf i}_{1} ,{\bf i}_{2} ,{\bf i}_{3} )$. В этих обозначениях условие ортонормированности векторов базиса записывается в виде:

(5)
\begin{align} ({\bf i}_{i} ,{\bf i}_{j} ) = \delta _{ij} = \left\{ {\begin{array}{*{20}c} {0, \qquad i \ne j} \\ {1, \qquad i = j} \\ \end{array}} \right. \end{align}

Рассмотрим произвольный вектор $\textbf{a}$. Как мы уже говорили выше, его можно представить в виде линейной комбинации базисных векторов:

(6)
\begin{align} {\bf a} = a_1 {\bf i}_{1} + a_2 {\bf i}_2 + a_3 {\bf i}_3 = \sum\limits_{i = 1}^3 {a_i {\bf i}_i } \end{align}

Числа $a_i$ — координаты вектора $\textbf{a}$ в данной системе координат. Поскольку базисные векторы ортонормированы, то $a_i = ({\bf a},{\bf i}_i )$.

Посмотрим, каким образом координаты вектора преобразуются при переходе к новой системе координат. Пусть новая система координат есть $(O',{\bf i'}_{1} ,{\bf i'}_{2} ,{\bf i'}_{3} )$. Мы можем разложить орты новой (штрихованной) системы координат по ортам старой (нештрихованной) системы:

(7)
\begin{align} {\bf i'}_i = \sum\limits_{j = 1}^3 {A_{ij} } {\bf i}_j \end{align}

Очевидно, что

(8)
\begin{align} A_{ij} = ({\bf i'}_i ,{\bf i}_j ) \end{align}

т.е. значение $A_{ij}$ равно косинусу угла между векторами ${\bf i'}_i$ и ${\bf i}_j$. Аналогично, мы можем разложить орты старой системы координат по новому базису:

(9)
\begin{align} {\bf i}_i = \sum\limits_{j = 1}^3 {A'_{ij} } {\bf i'}_j \end{align}

Матрицы $A_{ij}$ и $A'_{ij}$ взаимно обратны, т.е.

(10)
\begin{align} \sum\limits_{j = 1}^3 {A_{ij} A'_{jk} } = \delta _{ik}, \qquad \sum\limits_{j = 1}^3 {A'_{ij} A_{jk} } = \delta _{ik} \end{align}

Поскольку $A'_{ij} = ({\bf i}_i ,{\bf i'}_j )$, то $A'_{ij} = A_{ji}$, т.е. элементы обратной матрицы совпадают с элементами транспонированной матрицы. Матрицы, обладающие таким свойством, называются ортогональными. У ортогональных матриц строки и столбцы представляют собой ортонормированные векторы. При транспонировании матрицы ее определитель не изменяется, так что определитель ортогональной матрицы равен либо $+1$, либо $-1$. В первом случае новый базис имеет ту же ориентацию, что и старый, а во втором случае новый базис имеет другую ориентацию.

Если матрица $A_{ij}$ ортогональная, между ее элементами имеются шесть соотношений:

  • длины строк равны единице (три уравнения);
  • строки ортогональны друг другу (три уравнения).

Таким образом, девять элементов матрицы связаны шестью соотношениями, так что поворот системы координат в пространстве, как и должно быть, определяется тремя параметрами.

При выполнении последовательных преобразований их матрицы перемножаются.

Посмотрим теперь как преобразуются координаты вектора при переходе к новой системе координат. Поскольку $a_i = ({\bf a},{\bf i}_i )$ и $a'_i = ({\bf a},{\bf i}'_i )$, то

(11)
\begin{align} a'_i = \sum\limits_{j = 1}^3 {A_{ij} } a_j \end{align}

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

Изменение радиус-вектора фиксированной точки $M (\textbf{r}_M=(x, y, z))$ пространства при переходе к новой декартовой системе координат складывается из вектора сдвига $\textbf{t} = \overrightarrow{OO'}$ (за счет переноса начала координат) и преобразования с помощью матрицы $A$:

(12)
\begin{align} \textbf{r}'_M =\textbf{r}_M - \textbf{t}\qquad \Rightarrow \qquad x'_i =\sum\limits_{j = 1}^3 {A_{ij} } (x_j-t_j) \end{align}
Fig0120a.jpg

В качестве примера приведем матрицу преобразования при повороте системы координат в плоскости $(x, y)$ на угол $\varphi$:

(13)
\begin{align} A = \left( {\begin{array}{*{20}c} {\cos \varphi } & {\sin \varphi } \\ { - \sin \varphi } & {\cos \varphi } \\ \end{array}} \right) \end{align}

Выпишем матрицы преобразования при повороте системы координат в трехмерном случае вокруг осей $x$, $y$, $z$ на угол $\varphi$.

(14)
\begin{align} R_x = \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos{\varphi} & \sin{\varphi} \\ 0 & -\sin {\varphi} & \cos{ \varphi } \\ \end{pmatrix}, \quad R_y = \begin{pmatrix} \cos{\varphi} & 0 & -\sin{\varphi} \\ 0 & 1 & 0 \\ \sin {\varphi} & 0 & \cos{ \varphi } \\ \end{pmatrix}, \quad R_z = \begin{pmatrix} \cos{\varphi} & \sin{\varphi} & 0 \\ -\sin {\varphi} & \cos{ \varphi }& 0 \\ 0 & 0 & 1 \end{pmatrix} \end{align}

Обратите внимание на положение знака "минус" у элементов матрицы $R_y$.