logo
кг часть 2

Преобразование координат.

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

m1=f1 (k1, k2…kn)

m2=f2 (k1, k2…kn)

mn=fn (k1, k2…kn)

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

а аргументы—это координаты в системе координат ki.

Можно представить обратную задачу, т.е. по известным координатам m1,m2…mn определить координаты (k1, k2…kn). Решение обратной задачи выглядит следующим образом:

k1=F1 (m1, m2…mN)

k2=F1 (m1, m2…mN)

kn=Fn (m1, m2…mN)

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

В случае, когда размерности систем координат совпадают, осуществлять однозначное преобразование координат невозможно. Например, по 2-мерным экранным координатам нельзя без дополнительных условий однозначно определить трехмерные координаты отображаемых объектов. Если размерности систем координат совпадают, то также существуют те случаи, когда нельзя однозначно решить прямую ил обратную задачу.

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

  1. По системам координат. Например: преобразование полярной СК в прямоугольную.

  2. По виду функции преобразования. Различают линейные и нелинейные преобразования.

Если при всех i=1,2…n функции fi линейна относительно своих аргументов k1, k2…kn, т.е.

f1=ai1*k1=ai2k2+…+ain*kn+ain+1

где aij—const, то также преобразования называют линейными.

А если размерности систем координат совпадают то афинными.

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

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

Здесь матрица коэффициентов aij умножается на матрицу столбец kj и в результате получается матрица столбец mj.