Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора 130стр.doc
Скачиваний:
93
Добавлен:
15.06.2014
Размер:
2.49 Mб
Скачать

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

Вывод на графическое устройство привязан к некоторой системе координат. Практически все методы, обеспечивающие вывод на графическое устройство, привязаны к логической (или оконной) системе координат. Свойства этой системы можно менять. Описание логической системы координат задается контекстом устройства. Чтобы логические координаты могли интерпретироваться физическим устройством, используется следующий механизм. Графическое устройство имеет свою собственную фиксированную физическую систему координат. Контекст устройства содержит атрибуты, задающие соответствие между логическими и физическими координатами точки, что позволяет при выводе на графическое устройство произвести преобразование логических координат в физические. Графическое устройство осуществляет вывод в прямоугольную область отображения (viewport). Начало системы координат находится в левом верхнем углу области, первая координатная ось (Х) направлена горизонтально слева направо, вторая - Y вертикально сверху вниз. Единицей измерения является пиксел.

Тип логической системы координат (mapping mode) является атрибутом контекста устройства. Соответствие между системой координат области отображения и логической системой координат окна задается атрибутами:

  • выделенная точка окна (window origin);

  • выделенная точка области отображения (viewport origin);

  • меры протяженности логической (оконной) системы (window extent);

  • меры протяженности области отображения (viewport extent).

Используя эти атрибуты, Windows преобразует логические координаты в физические и выводит на графическое устройство.

Логическая система координат

Под типом логической системы координат понимается то, как направлены координатные оси и каковы единицы измерения по каждой из координатных осей. В Windows существует несколько типов логических систем координат. Для установки типа системы координат используется метод контекста устройства SetMapMode, а для получения типа системы координат - метод GetMapMode. Соответствие между логической и физической системами координат устанавливается двумя понятиями: выделенная точка (origin) и мера протяженности (точнее, меры протяженности, так как их две: по оси X и по оси Y). Каждая из систем координат имеет свою выделенную точку. Выделенная точка логической системы координат определяется атрибутом window origin (выделенная точка окна), а выделенная точка физической системы координат - атрибутом viewport origin (выделенная точка области отображения). Соответствие устанавливается наложением двух систем так, чтобы выделенные точки совпадали. Выделенные точки задают, каким образом системы координат размещены одна относительно другой.

Работа с выделенными точками обеспечивается методами класса CPoint:

  • выделенная точка логической системы координат устанавливается методом SetWindowOrg, а получается методом GetWindowOrg;

  • выделенная точка физической системы координат устанавливается методом SetViewportOrg, а получается методом GetViewportOrg.

Понятие "мера протяженности" можно представить, как точку на оси X или Y или как "эталонный отрезок" от начала системы координат до этой точки. При установлении соответствия между логической и физической системами координат точки в логической и физической системах координат совмещаются растяжением (или сжатием) логической системы по осям X и Y.