Координатный метод. Преобразование координат

   
На этом шаге мы рассмотрим некоторые преобразования координат.

   
Сначала рассмотрим общие вопросы преобразования координат. Пусть задана n-мерная система координат в базисе (k1, k2,.... kn),
описывающая положение точки в пространстве с помощью числовых значений ki. В компьютерной
графике чаще всего используется двумерная (n=2) и трехмерная (n=3) системы координат.

   
Если задать другую, N-мерную, систему координат в базисе (m1, m2,..., mN) и поставить
задачу определения координат в новой системе, зная координаты в старой, то решение (если оно существует) можно записать в таком виде:

где fi - функция пересчета i-й координаты, аргументы - координаты в системе ki.

   
Можно поставить и обратную задачу - по известным координатам m1, m2,..., mN определить
координаты k1, k2,.... kn. Решение обратной задачи запишем так:


где Fi - функции обратного преобразования.

   
В случае, когда размерности систем координат не совпадают (n <> N), осуществить однозначное преобразование координат зачастую не
удается. Например, по двумерным экранным координатам нельзя без дополнительных условий однозначно определить трехмерные координаты отображаемых объектов.

   
Если размерности систем совпадают (n = N), то также возможны случаи, когда нельзя однозначно решить прямую или обратную задачи.

   
Преобразование координат классифицируют:

  • по системам координат - например, преобразование из полярной системы в прямоугольную;
  • по виду функций преобразования fi.

   
По виду функций преобразования различают линейные и нелинейные преобразования. Если при всех i = 1, 2, ... , N
функции fi - линейные относительно аргументов (k1, k2,.... kn), то есть

  fi = ai1k1+ ai2k2+ ... + ainkn+ ai,n+1

где ai,j - константы, то такие преобразования называются линейными, а при n = N - аффинными.

   
Если хотя бы для одного i функция f - нелинейная относительно (k1, k2,.... kn), тогда преобразование координат в целом не линейно.

   
Например, преобразование

  X = 3х + 5y,
  Y = 4xy + 10y

нелинейное, так как в выражении для Y присутствует xy.

   
Линейные преобразования наглядно записываются в матричной форме:


Здесь матрица коэффициентов (аij) умножается на матрицу-столбец (ki) и в результате получается матрица-столбец (mi).

   
Напомним некоторые факты из алгебры матриц. Для двух матриц А размером (m*n) и В размером (n*p):


произведением матриц является матрица С = А*В размером (m*p):


для которой элементы cij вычисляются по формуле:

   
Правило вычисления элементов матрицы С можно легко запомнить по названию "строка на столбец". И действительно, для вычисления
любого элемента cij необходимо умножить элементы i-й строки матрицы А на элементы j-го столбца матрицы В.

   
Произведение матриц определено только для случая, когда количество столбцов матрицы А равно количеству строк матрицы В.

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

   
На следующем шаге мы рассмотрим аффинные преобразования на плоскости.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий