При отображении пространственных объектов на экране или на листе бумаги с помощью принтера необходимо знать координаты объектов. Мы рассмотрим две системы координат. Первая – мировая система координат(МСК), которые описывают истинное положение объектов в пространстве с заданной точностью. Другая — оконные координаты или система координат устройства изображения, в котором осуществляется вывод изображения объектов в заданной проекции.
Мировые координаты объектов являются трехмерными. Положение объекта может быть описано, например, в прямоугольной или сферической системе координат. Где располагается центр системы координат и каковы единицы измерения вдоль каждой оси, не очень важно. Важно то, что для отображения должны быть известны какие-то числовые значения координат отображаемых объектов.
Первоначально рассмотрим работу с плоскими изображениями, для описания которых используются двухмерные мировые координаты. Положим, что изображение объекта сформировано в некоторой плоскости пространства. Рассмотрим задачу получения формул для пересчета мировых координат объекта в оконные.
Пусть в мировом пространстве задана плоскость . Свяжем с этой плоскостью систему координат и выделим на ней прямоугольную область (рис. 1).
Рассмотрим оконную систему координат с началом в левом верхнем углу окна и выделим в ней некоторую прямоугольную область (рис. 2).
Пусть – некоторая точка в мировой системе координат, а ее образ в оконной системе координат.
Из приведенных рисунков можно получить пропорции
(5.1)
Рис. 1
Рис. 2
(5.2)
Введем обозначения
– ширина области отображения в оконных координатах | |
– ширина области отображения в мировых координатах | |
– высота области отображения в оконных координатах | |
– высота области отображения в мировых координатах |
Тогда выражение (5.2) можно переписать в виде
(5.3)
Или
, (5.4)
где ,
Представим соотношения (4) в матричном виде
(5.5)
или
(5.6)
где
, ,
Перепишем пару рассматриваемых равенств в виде, удобном для дальнейшего использования
(5.7)
Представим (5.7) также и матричном виде
, (5.8)
или
, (5.9)
где
, ,