Главная страница
Навигация по странице:

  • 4.3. Аффинные преобразования на плоскости

  • 4.3.2. Растяжение (сжатие)

  • 4.3.3. Отражение

  • 4.3.4. Перенос (сдвиг)

  • 4.3.5. Однородные координаты точки

  • 4.3.6. Представление преобразований на плоскости с помощью матриц 3-го порядка

  • ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ОПЕРАТОРА. Учебное пособие для студентов специальности 220301 Москва 2011 2 Содержание


    Скачать 2.77 Mb.
    НазваниеУчебное пособие для студентов специальности 220301 Москва 2011 2 Содержание
    АнкорГРАФИЧЕСКИЙ ИНТЕРФЕЙС ОПЕРАТОРА.pdf
    Дата10.12.2017
    Размер2.77 Mb.
    Формат файлаpdf
    Имя файлаГРАФИЧЕСКИЙ ИНТЕРФЕЙС ОПЕРАТОРА.pdf
    ТипУчебное пособие
    #10835
    страница5 из 12
    1   2   3   4   5   6   7   8   9   ...   12
    Формат TIFF (Tagged Image File Format)
    создан фирмой Aldus специально для хранения сканированных изображений. Это формат, максимально точно передающий изначальное изображение. Он не компрессирует файл, поэтому файл занимает много места на жестком диске.
    Хотя с момента его создания прошло уже много времени, до сих пор является основным форматом, используемым для хранения сканированных изображений и размещения их в издательских системах и программах иллюстрирования.
    Версии формата существуют на всех компьютерных платформах, что делает его исключительно удобным для переноса растровых изображений между ними. TIFF поддерживает монохромные, индексированные, полутоновые и полноцветные изображения в моделях RGB и CMYK с 8- и 16-битными
    каналами. Файлы этого типа — стандарт в полиграфии, где требуется четкая картинка с максимальным разрешением. При сохранении файла в формате
    TIFF с использованием схемы сжатия LZW (Lempel-Ziv-Welch)
    его размеры уменьшаются настолько, насколько это возможно. Данная схема сжимает файл без потери данных, то есть в результате ее применения качество изображения не ухудшается.
    Формат JPEG (Joint Photographic Experts Group). JPEG (JPG) – это формат, позволяющий создать минимальный по размерам файл с наименьшей потерей качества изображения. Поэтому этот формат получил большую популярность — он является стандартом для хранения изображений в
    Интернете и многих цифровых фотоаппаратах, снимки в формате JPEG принимаются на печать в лабораториях. Наиболее широко JPEG используется при создании изображений для электронного распространения на CD-ROM или в Интернете. Недостаток этого формата заключается в том, что при каждом сохранении изображение несколько искажается. Он основан на удалении из изображения той информации, которая все равно не воспринимается (или слабо воспринимается) человеческим глазом. Лишенное избыточной информации изображение занимает гораздо меньше места, чем исходное. Степень сжатия, а следовательно, и количество удаляемой информации плавно регулируется.
    Низкие степени сжатия дают лучшее качество изображения, а высокие могут существенно его ухудшить. Компактность файлов JPEG делает этот формат незаменимым в тех случаях, когда размер файлов критичен, например, при их передаче по каналам связи. В полиграфии использовать его не рекомендуется.

    60
    Формат GIF (Graphics Interchange Format) создан крупнейшей онлайновой службой CompuServe (ныне подразделение AOL, America Online) специально для передачи растровых изображений в глобальных сетях.
    Ориентирован на компактность и использует алгоритм сжатия LZW, не приводящий к потере качества. Используется только по своему первоначальному предназначению – в Internet, поскольку поддерживает только индексированные изображения. Версия позволяет сохранять в одном файле несколько индексированных изображений (почти как слои в Photoshop).
    Браузеры способны демонстрировать все эти изображения по очереди, получая в результате несложную анимацию. В файле анимации хранятся не только кадры анимации, но и параметры ее демонстрации. GIF-анимация в силу своей простоты наиболее распространена в Internet. Кроме того, один из цветов в палитре индексированного изображения можно объявить прозрачным. В браузере участки этого цвета будут прозрачными, сквозь них будет виден фон страницы.
    Формат PNG (Portable Network Graphics). Как явствует из названия, формат PNG предназначен для передачи изображений по сети. Это достаточно
    «свежий» формат для Web-графики, конкурирующий с GIF. Все последние версии браузеров поддерживают его без специальных подключаемых модулей.
    Формат поддерживает полутоновые и полноцветные RGB-изображения с единственным альфа-каналом, а также индексированные и монохромные изображения без альфа-каналов. Альфа-канал служит маской прозрачности.
    Таким образом, формат PNG – единственный из распространенных форматов, позволяющий получать полноцветные изображения с прозрачным фоном. В формате PNG использован мощный алгоритм сжатия без потерь информации, основанный на популярном LZW-сжатии.
    Формат PSD (PhotoShop Document) – это собственный, «родной» формат программы Adobe Photoshop. Единственный формат, поддерживающий все возможности программы. В нем сохраняется не только изображение, но и служебная информация программы (слои, из которых состоит документ, попавшие за границы фрагменты рисунка и т.д.). Предпочтителен для хранения промежуточных результатов редактирования изображений, так как сохраняет их послойную структуру, но для вставки изображения в документ Word рекомендуется сохранять файлы в других графических форматах. Все последние версии продуктов фирмы Adobe Systems поддерживают этот формат и позволяют импортировать файлы Photoshop непосредственно. К недостаткам формата можно отнести недостаточную совместимость с другими распространенными приложениями и отсутствие возможности сжатия.
    Поскольку формат PSD способен хранить любой документ, который можно создать в Photoshop, при сохранении не требуется указание каких-либо параметров.
    Формат PCX – один из первых растровых форматов, созданных фирмой
    ZSoft для программы PC Paintbrush. Поддерживает монохромные, индексированные и полноцветные RGB-изображения. Формат предполагает

    61 использование простейшего алгоритма сжатия RLE без потерь информации.
    Ныне имеет преимущественно историческое значение.
    4.3. Аффинные преобразования на плоскости
    В компьютерной графике все, что относится к двумерному случаю, принято обозначать символом (2D) (2-Dimension, т.е. 2-Размерный). Допустим, что на плоскости введена прямолинейная координатная система. Тогда каждой точке М ставится в соответствие упорядоченная пара чисел (х, у) – ее координат
    (рис. 56).
    Рис. 56. Пример представления точки на плоскости
    Вводя на плоскости еще одну прямолинейную систему координат, мы ставим в соответствие той же точке М другую пару чисел – (x',у').
    Переход от одной прямолинейной координатной системы на плоскости к другой описывается следующими соотношениями:







    y
    x
    x







    y
    x
    y
    , где α, β, λ, γ, δ, μ – произвольные числа.
    Числа α, β, γ, δ - связаны неравенством:
    0





    4.3.1. Вращение (поворот)
    Поворот вокруг начальной точки на угол φ (рис. 57) описывается формулами:


    sin cos
    y
    x
    x



    cos sin


    y
    x
    y



    M(x,y)
    y
    x
    0
    x
    y
    M(x’, y’)
    x’
    y’
    x
    y

    62
    Рис. 57. Поворот OM на угол φ относительно центра координат
    В дальнейшем мы будем рассматривать формулы как правила, согласно которым в заданной системе прямолинейных координат преобразуются точки плоскости.
    В аффинных преобразованиях на плоскости особую роль играют несколько важных частных случаев, имеющих хорошо прослеживаемые геометрические характеристики. При исследовании геометрического смысла числовых коэффициентов в формулах для этих случаев нам удобно считать, что заданная система координат является прямоугольной декартовой.
    4.3.2. Растяжение (сжатие)
    Растяжение (сжатие) вдоль координатных осей можно задать так:
    x
    x



    ,
    y
    y



    0
    ,
    0




    Растяжение вдоль оси абсцисс обеспечивается при условии, что α > 1, а сжатиевдоль той же оси – при α < 1.
    На рис. 58 α=δ>1.
    В данном примере мы наблюдаем изменение положения красного квадрата. Это происходит потому, что объект не находится в центре координат, и расстояние x до объекта изменяется в том же масштабе, что и все точки объекта. На практике этого можно избегать, привязывая координаты либо к центру самого объекта, либо к одному из его углов.
    M(x,y)
    y
    x
    0
    x
    y
    M(x’, y’)
    x’
    y’
    x
    y
    φ

    63
    Рис. 58. Изменение положения точки посредством растяжения вектора
    4.3.3. Отражение
    Отражение (относительно оси абсцисс, рис. 59) задается при помощи формул:
    x
    x


    y
    y



    Рис. 59. Отражение точки относительно оси OX
    4.3.4. Перенос (сдвиг)
    Перенос, или сдвиг показан на рис. 60: вектор переноса ММ' имеет координаты λ, и μ. Перенос описывают соотношения:



    x
    x



    y
    y
    x
    x


    '
    y
    y


    '
    М( )
    ,'
    x
    '
    y
    y
    x
    0
    M(x,y)
    y
    x

    y
    x
    x
    y
    M(x,y)
    M(,)

    64
    Рис. 60. Перенос точки посредством изменения её координат
    Выбор этих четырех частных случаев определяется двумя обстоятельствами:
    1) каждое из приведенных выше преобразований имеет простой и наглядный геометрический смысл (геометрическим смыслом наделены и постоянные числа, входящие в приведенные формулы);
    2) как доказывается в курсе аналитической геометрии, любое преобразование вида (x',y') п.3 всегда можно представить как последовательное выполнение (суперпозицию) простейших преобразований вида 4.3.1 – 4.3.4 в нужной последовательности. Таким образом, справедливо следующее важное свойство аффинных преобразований плоскости: любое отображение вида (x',y') п.3 можно описать при помощи отображений, задаваемых формулами 4.3.1 –
    4.3.4.
    Для эффективного использования этих известных формул в задачах компьютерной графики более удобной является их матричная запись.
    Матрицы, соответствующие случаям 4.3.1, 4.3.2 и 4.3.3, строятся легко и имеют соответственно следующий вид:
    1 0
    0 1
    ,
    0 0
    ,
    cos sin sin cos


























    К сожалению, преобразование 4.3.4 (перенос, или сдвиг) невозможно описать с помощью матрицы размерности 2х2.
    4.3.5. Однородные координаты точки
    Для решения рассматриваемых далее задач весьма желательно охватить матричным подходом все 4 простейших преобразования (в том числе и перенос), а, значит, и общее аффинное преобразование. Этого можно достичь, y x
    0
    M(x,y)
    '
    x
    '
    y
    М ( )
    ,'
    x
    '
    y


    y
    x

    65 например, так: перейти к описанию произвольной точки плоскости, не упорядоченной парой чисел, как это было сделано выше, а упорядоченной тройкой чисел.
    Пусть М – произвольная точка плоскости с координатами х и у, вычисленными относительно заданной прямолинейной координатной системы.
    Однородными координатами этой точки называется любая тройка одновременно неравных нулю чисел х
    1
    , x
    2
    , x
    3
    , связанных с заданными числами
    х и у следующими соотношениями:
    ,
    3 2
    3 1
    y
    x
    x
    x
    x
    x


    Рис. 61. Переход к однородным координатам
    При решении задач компьютерной графики однородные координаты обычно вводятся так: произвольной точке М(х,у) плоскости ставится в соответствие точка М(х,у,1) в пространстве (рис. 61).
    Заметим, что произвольная точка на прямой, соединяющей начало координат, точку О (0, 0, 0), с точкой М (х, у, 1), может быть задана тройкой чисел вида (h
    x
    , h
    y
    , h). Будем считать, что h ≠ 0.
    Вектор с координатами (h
    x
    , h
    y
    , h) является направляющим вектором прямой, соединяющей точки О(0, 0, 0) и М (х, у, 1). Эта прямая пересекает плоскость Z=1 в точке (х, у, 1), которая однозначно определяет точку (х, у) координатной плоскости ху.
    Тем самым между произвольной точкой с координатами (х, у) и множеством троек чисел вида (h
    x
    , h
    y
    , h), h0, устанавливается (взаимно однозначное) соответствие, позволяющее считать числа h
    x
    , h
    y
    , h новыми координатами этой точки.
    Замечание. Широко используемые в проективной геометрии однородные
    координаты позволяют эффективно описывать так называемые
    несобственные элементы (по существу, те, которыми проективная
    плоскость отличается от привычной нам евклидовой плоскости).
    В проективной геометрии для однородных координат принято следующее обозначение:
    х;у;1,

    66 или, более общее, x
    1
    , х
    2
    , х
    3
    (напомним, что здесь непременно требуется, чтобы числа x
    1
    , х
    2
    , х
    3
    одновременно в нуль не обращались).
    Применение однородных координат оказывается удобным уже при решении простейших задач.
    Рассмотрим, например, вопросы, связанные с изменением масштаба.
    Если устройство отображения работает только с целыми числами (или если необходимо работать только с целыми числами), то для произвольного значения h (например, h = 1) точку с однородными координатами (0.5, 0.1, 2.5) представить нельзя. Однако при разумном выборе h можно добиться того, чтобы координаты этой точки были целыми числами. В частности, при h = 10 для рассматриваемого примера имеем (5, 1, 25).
    Возьмем другой случай. Чтобы результаты преобразования не приводили к арифметическому переполнению, для точки с координатами (80000, 40000,
    1000) можно взять, например, h = 0,001. В результате получим (80, 40, 1).
    Приведенные примеры показывают полезность использования однородных координат при проведении расчетов. Однако основной целью введения однородных координат в компьютерной графике является их несомненное удобство в применении к геометрическим преобразованиям.
    Замечание. При помощи троек однородных координат и матриц
    третьего порядка можно описать любое аффинное преобразование на
    плоскости.


    1
    y
    x


    =













    1 0
    0 1






    y
    x
    Замечание. Иногда в литературе используется другая запись – запись по
    столбцам:
    1 1
    0 0
    1


































    x
    x
    y
    x






    Такая запись эквивалентна приведенной выше записи по строкам (и
    получается из нее транспонированием).
    4.3.6. Представление преобразований на плоскости с помощью
    матриц 3-го порядка
    Элементы произвольной матрицы аффинного преобразования не несут в себе явно выраженного геометрического смысла. Поэтому чтобы реализовать то или иное отображение, т. е. найти элементы соответствующей матрицы по заданному геометрическому описанию, необходимы специальные приемы.
    Обычно построение этой матрицы в соответствии со сложностью рассматриваемой задачи и с описанными выше частными случаями разбивают на несколько этапов.

    67
    На каждом этапе ищется матрица, соответствующая тому или иному из выделенных выше случаев 4.3.1 – 4.3.4, обладающих хорошо выраженными геометрическими свойствами.
    Выпишем соответствующие матрицы третьего порядка.
    А. Матрица вращения (rotation):
    1 0
    0 0
    cos sin
    0
    sin cos
















    R
    Б. Матрица растяжения или сжатия (dilatation):
    1 0
    0 0
    0 0
    0













    D
    В. Матрица отражения (reflection):
    1 0
    0 0
    1 0
    0 0
    1












    M
    Г. Матрица переноса (translation):
    1 0
    1 0
    0 0
    1













    T
    Рассмотрим примеры аффинных преобразований на плоскости.
    Пример. Построить матрицу поворота вокруг точки A(a, b) на угол φ
    (рис. 62).
    1-й шаг. Перенос на вектор А(-а,-b) для совмещения центра поворота с началом координат. Матрица соответствующего преобразования имеет вид:
    1 0
    1 0
    0 0
    1














    b
    a
    T
    A

    68
    Рис. 62. Пример поворота прямой на плоскости
    2-й шаг. Поворот на угол φ. Матрица поворота:
    1 0
    0 0
    cos sin
    0
    sin cos

















    R
    3-й шаг. Перенос на вектор А(а, b) для возвращения центра поворота в прежнее положение. Матрица переноса:

    69 1
    0 1
    0 0
    0 1











    b
    a
    T
    A
    Перемножим матрицы в том же порядке, как они выписаны:
    A
    A
    T
    R
    T




    В результате получим, что искомое преобразование (в матричной записи) будет выглядеть следующим образом:

     

    1
    cos sin sin cos
    0
    cos sin
    0
    sin cos
    1 1

























    b
    b
    a
    a
    b
    a
    y
    x
    y
    x








    Элементы полученной матрицы (особенно в последней строке) не так легко запомнить. В то же время каждая из трех перемножаемых матриц по геометрическому описанию соответствующего отображения легко строится.
    Пример. Построить матрицу растяжения с коэффициентами
    растяжения α вдоль оси абсцисс и δ вдоль оси ординат и с центром в точке
    A(a,b)(рис. 63).

    70
    Рис. 63. Пример масштабирования прямой на плоскости
    1-й шаг. Перенос на вектор -А(-а,-b) для совмещения центра растяжения с началом координат; матрица соответствующего преобразования имеет вид:
    1 0
    1 0
    0 0
    1














    b
    a
    T
    A
    2-й шаг. Растяжение вдоль координатных осей с коэффициентами α и δ соответственно; матрица преобразования имеет вид:
    1 0
    0 0
    0 0
    0













    D
    3-й шаг. Перенос на вектор -А(а,b) для возвращения центра растяжения в прежнее положение; матрица соответствующего преобразования:
    1 0
    1 0
    0 0
    1











    b
    a
    T
    A
    Перемножив матрицы в том же порядке
    A
    A
    T
    D
    T



    , получим окончательно:

     

    1
    )
    1
    (
    )
    1
    (
    0 0
    0 0
    1 1
















    b
    a
    y
    x
    y
    x





    71
    Замечание. Рассуждая подобным образом, т. е. разбивая предложенное
    преобразование на этапы, поддерживаемые матрицами R, D, M, T можно
    построить
    матрицу
    любого
    аффинного
    преобразования
    по
    его
    геометрическому описанию.
    1   2   3   4   5   6   7   8   9   ...   12


    написать администратору сайта