Ответы к экзамену Введение icon

Ответы к экзамену Введение


Скачать 249.88 Kb.
НазваниеОтветы к экзамену Введение
страница1/6
Размер249.88 Kb.
ТипОтветы к экзамену
  1   2   3   4   5   6

Компьютерная Графика (КГ)

вопросы & ответы к экзамену


Введение:


  1. Определение, задача и области применения КГ. Уровни подобия. (км)


КГ – комплекс средств для создания, хранения и обработки объектов и их изображения на ЭВМ

Задачи КГ – визуализация, создание изображений

Типичные области использования КГ

  1. Черчение графиков

  2. Распознавание образов­­­

  3. Автоматизация чертежных и конструкторских работ (САПР)

3.1 Возможность интерактивной работы с моделью

3.2 ГИС (Географическая Информационная Система)

4) Компьютерная полиграфия и веб-дизайн

5) Моделирование и мультипликация

6) Управление процессом


Источниками входной информации для систем машинной графики является не сами физические объекты или процессы, а их математические модели. Существенное влияние на построение мат. модели оказывает требуемый уровень соответствия (подобия).

Синтезируем изображение и визуально наблюдаем картину.


^ 3 уровня подобия

1) Физическое подобие

а) геометрическое (пространственные)

б) яркостные (энергетические)

в) временные

2) Психо-физическое подобие – соответствие на уровне зрительных ощущений

3) Психологическое подобие – соответствие возникает когда объекты различают по физическим

характеристикам или внешний наблюдатель сам достроит изображение

синтезируемое компьютерное изображение может соответствовать оригиналу только на психо-физическом уровне.


  1. Краткая история КГ. Трудности развития. Эволюция средств вывода.


Краткая история КГ

  1. 1950г. ЭВМ оборудовалась дисплеем с ЭЛТ

  2. SAGE середина 50х (дисплейные пульты управления)

  3. Начало интенсивной графики, Диссертация «Графическая система sketchpad» начало 60х описывается простейший графический редактор для вывода геометрии

  4. В 60е гг были сформулированы принципы рисования отрезками и удаление невидимых линий, методы обработки сложных поверхностей, теней учет освещенности сцены. Первые алгоритмы ориентированны на развитие векторной графики. Наибольшее влияние оказывают алгоритмы Брезенхема

  5. 70е гг все усилия направились в 3D. Эпоха зарождения трёхмерной графики

  6. 80е гг персональные компьютеры.

Развитие компьютерной графики тормозилось:

    1. Высокая стоимость графического оборудования

    2. Значительные потребности в вычислительной мощности

    3. Трудности в разработке интерактивных программ для работы в среде с разделением времени.

    4. Индивидуальность программного обеспечения.

^ Эволюция средств вывода

Мониторные устройства. Середина 60х годов векторные, штриховые и калигрофические.

дисплейная программа содержала команды ввода вывода точек и объектов. В 70х годах была изобретена дешёвая растровая графика.

^ Растровая графика – матрица из пикселей покрывающая всю площадь экрана.

3. Стандартизация в КГ.

Основная цель стандартизации:

Основная целью стандартизации – переносимость графических систем (ГС), которая достигается стандартизацией интерфейсов между графическим ядром системы (БГС – Базовая Графическая Система) реализующим, собственно, графические функции и моделирующей системой использующей функции графического ядра.

БГС должен обладать независимостью от:

    1. вычислительных систем

    2. языков программирования

    3. области применения

    4. графических устройств

ДУ-драйвер устройства

У-устройство


NGP – Network Graphic Protocol

Первые результаты по стандартизации были получены применительно к сети ARPA в рамках работ по разработке протоколов для аппаратно и машинно-независимого представления графических данных в сети.

ПГ - Прикладная Программа

ОП - обслуживающая программа

ТМ - терминальная программа


^ Международная деятельность по стандартизации машинной графики

1976г. – были сформулированы и обсуждены задачи стандартизации. Комитет по стандартизации машинной графики (GSPC) ACM/3IGGRAPH

Стандарт Core-system (GSPC - 77)

  1. Разделение функций ввода вывода

  2. Минимизация отличий выводов

  3. Концепция 2х координатных систем (мировой и приборной системы координат)

  4. Концепция дисплейного файла, содержащего приборную координатную информацию (контекст)

  5. Обеспечение функций преобразования данных из мировой системы в приборную путем вызова видового преобразования




Матричные

операции:


  1. 2-мерные преобразования в декартовых и однородных координатах. (км)


XYZ – обыкновенные декартовы координаты

xyz – однородные координаты

Видовые преобразования:

  1. перенос

  2. поворот

  3. масштабирование

Xn=X+Tx

Yn=Y+Ty

Pn=P+T

p=[x,y] – вектор одномерной матрицы

p – вектор координат

Pn – в вектор новых координат

T – вектор

Масштабирование

Xn=X*Sx

Yn=Y*Sy

Pn=P*S

- матрица и масштабирование

Поворот

Xn=X*cosφ – Y*sinφ

Yn= X*sinφ – Y* cosφ

Pn=P*R

φ-угол поворота



Столбцы и строки матрицы поворота представляют собой взаимно ортогональные единичные векторы. В самом деле квадраты длин векторов-строк равны единице:

cosφ * cosφ + sinφ * sinφ = 1

- sinφ * (- sinφ) + cosφ * cosφ = 1

а скалярное произведение векторов-строк есть cosφ(-sin) + sinφ*cosφ = 0

Так как скалярное произведение векторов А * В = |А| * |В| * cosφ где |A| - длина вектора А, |В| - длина вектора В, а φ - наименьший положительный угол между ними, то из равенства 0 скалярного произведения двух векторов-строк длины 1 следует, что угол между ними равен 90.

^ Двумерные преобразования в однородных координатах

Как видно из приведенных выше формул двумерные преобразования имеют различный вид. Сдвиг реализуется сложением, а масштабирование и поворот - умножением. Это различие затрудняет формирование суммарного преобразования и устраняется использованием двумерных однородных координат точки, имеющих вид:

[ x y w]:

Здесь w - произвольный множитель не равный 0.

Двумерные декартовые координаты точки получаются из однородных делением на множитель w: X =x/w; Y =y/w

Однородные координаты можно представить как промасштабированные с коэффициентом w значения двумерных координат, расположенные в плоскости с Z =w. В силу произвольности значения w в однородных координатах не существует единственного представления точки, заданной в декартовых координатах.

Преобразования переноса, масштабирования и поворота в однородных координатах относительно центра координат все имеют одинаковую форму произведения вектора исходных координат на матрицу преобразования.

^ Для переноса

-матрица переноса

Для масштабирования



Для поворота




  1. 3-х мерные преобразования. Суммарное преобразование. (км)


Аналогично тому, как двумерные преобразования описываются матрицами размером 3x3, трехмерные преобразования могут быть представлены в виде матриц размером 4x4. И тогда трехмерная точка (х, у, z) записывается в однородных координатах как (W*x, W*y, W*z, W), где W0. Если W1, для получения трехмерных-декартовых координат точки (х, у, z) первые три однородные координаты делятся на W. Отсюда, в частности, следует, что две точки H1 и Н2 в пространстве однородных координат описывают одну и ту же точку трехмерного пространства в том и только в том случае, когда H1 =cH2 для любой константы с, не равной нулю.

Применяемая здесь трехмерная система координат является правосторонней

Перенос:



Масштабирование:



Поворот вокруг оси X:



Поворот вокруг оси Y:




Поворот вокруг оси Z:



Столбцы (и строки) верхней левой подматрицы размером 3x3 матриц Rz, Rx и Ry представляют собой взаимно ортогональные единичные векторы, интерпретация которых такая же, что и в двумерном случае.

Все эти матрицы преобразований имеют обратные матрицы

обратная Т, получается подстановкой знака минус перед Dx, Dy и Dz,

обратная S — заменой Sx, Sy и Sz на обратные им значения,

а для каждой из трех матриц поворота — выбором отрицательного угла поворота

Результатом произвольной последовательности поворотов вокруг осей х, у и z является матрица А, имеющая вид:



Подматрицу поворота размером 3x3 называют ортогональной, поскольку ее столбцы являются взаимно ортогональными единичными векторами. При повороте, задаваемом матрицей, эти единичные векторы совмещаются с осями х, у и z. Иногда возникает необходимость определить матрицу поворота, соответствующую таким направлениям. Матрицы поворота сохраняют длину и углы, а матрицы масштабирования и переноса не сохраняют.

Для любой ортогональной матрицы ^ В обратная матрица совпадает с транспонированной B-1=BT. Этот результат является полезным, поскольку вычислять матрицу, обратную матрице поворота, приходится часто. В действительности для получения транспонированной матрицы не требуются даже взаимные пересылки между элементами массива, описывающего матрицу. Необходимо только при выборе элементов массива поменять местами индексы строк и столбцов. Отметим, что этот метод определения обратной матрицы дает тот же результат, что и способ обращения Rx, Ry, Rz, основанный на подстановке

знака минус перед углом φ/

Можно перемножить произвольное число матриц поворота, масштабирования и переноса. Результат всегда будет иметь вид




Рисование в Windows:


6. GDI. Контекст устройства.(км)


Графические функции из состава WinAPI объединяются в отдельную группу – подсистему GDI.

GDI (Grafic device interface)- можно представить себе как графическую машину, которая исп. Windows и ее приложения ,для отображения и манипулирования графикой, причем эти функции не зависят от используемого устройства.

^ Приложение --> GDI --> драйвер устройства --> видеопамять

Аппаратная независимость реализуется через использование драйверов устройств, которые переводят функции GDI в команды, воспроизводимые устройством вывода.

^ Запись на устройство вывода.

В отличие от граф. программ, написанных под DOS программы windows никогда не выводят элементы изображения непосредственно на экран либо на какое-нибудь другое устройство, а записывают их в логическую сущность, называемую контекстом устройства. Контекст дисплея(DC) - виртуальная поверхность с присущ ей атрибутами , такими как перо, кисть, цвет фона, цвет текста.

^ Handle of Device Context (HDC) – идентификатор, указатель на контекст устройства.

Управление контекстом дисплея.

Для организации рисования в контексте дисплея, сначала нужно получить контекст дисплея для нужного окна.

Требования к памяти со стороны КД очень велики, поэтому можно одновременно организовать доступ только к 5 в одном сеансе Windows.

^ Окно-это объект в OC Windows,к-рый обрабатывает ин-е сообщения и отображает приложения.

Объект - это инкапсулированная абстракция, отражающая своё внутрен. состояние.

Абстракция – сущность у которой отброшены ненужные свойства

Это значит, что каждое окно не может поддерживать свой собственный контекст дисплеев. Оно получает его в случае необходимости и освобождает при первой же возможности.

Что содержится в контексте устройства?

1.Побитовая графика.

2. Перья

3. Кисти

4.Шрифты

5. Цвет, который использует устройство для рисования хранится в цветовой палитре.


7. DirectDraw.


- Компонент пакета DrictX - Windows игровая платформа расширяющая мультимедийные возможности. Direct Draw в отличии от GDI дает доступ к видеопамяти.




Блиттер (blt) – позволяет копировать куски памяти очень быстро. первое применение- смена видео страниц для вывода видео (гладкой анимации)

одна страница выводится другая считывается.

для прорисовки изображения у приложения есть

4 возможности:

1) GDI

2) Direct Draw

3) Direct 3D

4) Open GL


OpenGL:


8. Основные возможности. Дополнительные библиотеки.


Описывать возможности OpenGL мы будем через функции его библиотеки. Все функции можно разделить на пять категорий:

Функции описания примитивов определяют объекты нижнего уровня иерархии (примитивы), которые способна отображать графическая подсистема. В OpenGL в качестве примитивов выступают точки, линии, многоугольники и т.д.

Функции описания источников света служат для описания положения и параметров источников света, расположенных в трехмерной сцене.

Функции задания атрибутов. С помощью задания атрибутов программист определяет, как будут выглядеть на экране отображаемые объекты. Другими словами, если с помощью примитивов определяется, что появится на экране, то атрибуты определяют способ вывода на экран. В качестве атрибутов OpenGL позволяет задавать цвет, характеристики материала, текстуры, параметры освещения.

Функции визуализации позволяет задать положение наблюдателя в виртуальном пространстве, параметры объектива камеры. Зная эти параметры, система сможет не только правильно построить изображение, но и отсечь объекты, оказавшиеся вне поля зрения.

Набор функций геометрических преобразований позволяют программисту выполнять различные преобразования объектов – поворот, перенос, масштабирование.

При этом OpenGL может выполнять дополнительные операции, такие как использование сплайнов для построения линий и поверхностей, удаление невидимых фрагментов изображений, работа с изображениями на уровне пикселей и т.д.

Дополнительные библиотеки

OpenGL состоит из набора библиотек. Все базовые функции хранятся в основной библиотеке, для обозначения которой в дальнейшем мы будем использовать аббревиатуру GL. Помимо основной, OpenGL включает в себя несколько дополнительных библиотек.

Первая из них – библиотека утилит GL(GLU – GL Utility). Все функции этой библиотеки определены через базовые функции GL. В состав GLU вошла реализация более сложных функций, таких как набор популярных геометрических примитивов (куб, шар, цилиндр, диск), функции построения сплайнов, реализация дополнительных операций над матрицами и т.п.

OpenGL не включает в себя никаких специальных команд для работы с окнами или ввода информации от пользователя. Поэтому были созданы специальные переносимые библиотеки для обеспечения часто используемых функций взаимодействия с пользователем и для отображения информации с помощью оконной подсистемы. Наиболее популярной является библиотека GLUT (GL Utility Toolkit). Формально GLUT не входит в OpenGL, но de facto включается почти во все его дистрибутивы и имеет реализации для различных платформ. GLUT предоставляет только минимально необходимый набор функций для создания OpenGL-приложения. Функционально аналогичная библиотека GLX менее популярна.


^ 9.OpenGL в Windows. Контексты и их связь. Формат пикселя.


Поток команд OpenGL –> контекст воспроизведения –> контекст устройства Windows -> рисование в окне.

Контекст устройства — это внутренняя структура, для управления информацией о выходном устройстве. Она содержит информацию о параметрах и атрибутах вывода графики на устройство (например, дисплей или принтер). Вместо направления вывода непосредственно на аппаратное устройство, приложение направляет его в контекст устройства, а затем Windows пересылает вывод в аппаратное устройство.

С контекстом воспроизведения тоже что и с контекстом устройства, только в пределах OpenGL, а не Windows.

Прежде чем получить контекст воспроизведения, сервер OpenGL должен получить детальные характеристики используемого оборудования. Эти характеристики хранятся в специальной структуре, тип которой - TPixelFormatDescriptor (описание формата пикселя). Формат пикселя определяет конфигурацию буфера цвета и вспомогательных буферов. Полям структуры присваиваются желаемые значения, затем вызовом функции ChoosePixelFormat осуществляется запрос системе, поддерживается ли на данном рабочем месте выбранный формат пиксела, и, наконец, вызовом функции SetPixelFormat устанавливается формат пиксела в контексте устройства.


^ 10.Архитектура и синтаксис команд.


Функции OpenGL реализованы в модели клиент-сервер. Приложение выступает в роли клиента – оно вырабатывает команды, а сервер OpenGL интерпретирует и выполняет их. Сам сервер может находиться как на том же компьютере, на котором находится клиент (например, в виде динамически загружаемой библиотеки – DLL), так и на другом (при этом может быть использован специальный протокол передачи данных между машинами).С точки зрения архитектуры графическая система OpenGL является конвейером, состоящим из нескольких последовательных этапов обработки графических данных.


Рис. 2. Функционирование конвейера OpenGL

OpenGL является прослойкой между аппаратурой и пользовательским уровнем, что позволяет предоставлять единый интерфейс на разных платформах, используя возможности аппаратной поддержки. Кроме того, OpenGL можно рассматривать как конечный автомат, состояние которого определяется множеством значений специальных переменных и значениями текущей нормали, цвета, координат текстуры и других атрибутов и признаков. Вся эта информация будет использована при поступлении в графическую систему координат вершины для построения фигуры, в которую она входит. Смена состояний происходит с помощью команд, которые оформляются как вызовы функций.

^ Синтаксис команд

Все команды (процедуры и функции) библиотеки GL начинаются с префикса gl, все константы – с префикса GL_. Соответствующие команды и константы библиотек GLU и GLUT аналогично имеют префиксы glu (GLU_) и glut (GLUT_). Кроме того, в имена команд входят суффиксы, несущие информацию о числе и типе передаваемых параметров. В OpenGL полное имя команды имеет вид:

type glCommand_name[1 2 3 4][b s i f d ub us ui][v](type1 arg1,…,typeN argN)

gl - имя библиотеки, в которой описана эта функция: для базовых функций OpenGL, функций из библиотек GLU, GLUT, GLAUX это gl, glu, glut, glaux соответственно. command_name - имя команды. [1 2 3 4] - число аргументов команды.

[b s i f d ub us ui] - тип аргумента. [v] - наличие этого символа показывает, что в качестве параметров функции используется указатель на массив значений.


11.Рисование в OpenGL. Буфер. Обновление изображения.


OpenGL поддерживает работу со следующими буферами:

1.Color – буфер цвета. Хранит цвет в RGBA.

2.Depth – буфер глубины. Хранит информацию для удаленных невидимых линий.

3.Stencil – буфер маски.

4.Accumulation – буфер накопления. Накапливает информацию от предыдущих кадров(эффект размытия).

5.Расширенный буфер цвета – буфер кадра. Поддерживает множественную буферизацию.

Обновление изображения.

При обновлении, изображении должно полностью перерисовываться.

Функция обновления изображения:

1.Очистка буферов OpenGL. Если этого не делать, то старое изображение будет накладываться на новое. Очистка производится с помощью функции void glClear,

void glClearColor

Команда glClearColor устанавливает цвет, которым будет заполнен буфер кадра. Команда glClear очищает комбинацию буферов.

2.Перерисовка сцены. Установка положения наблюдателя.

3.Переключение между передним и задним буфером кадра(при анимации).

Переключении осуществляется функцией SwapBuffers(HDC). Эта команда не OpenGL, а Windows.


^ 12. Вершины, примитивы, и их атрибуты.


Вершина является атомарным графическим примитивом OpenGL и определяет точку, конец отрезка, угол многоугольника и т.д. Все остальные примитивы формируются с помощью задания вершин, входящих в данный примитив. Например, отрезок определяется двумя вершинами, являющимися концами отрезка. С каждой вершиной ассоциируются ее атрибуты. В число основных атрибутов входят положение вершины в пространстве, цвет вершины и вектор нормали.

^ Положение вершины в пространстве

Положение вершины определяются заданием ее координат в двух-, трех-, или четырехмерном пространстве (однородные координаты). Это реализуется с помощью нескольких вариантов команды glVertex*:

void glVertex[2 3 4][s i f d] (type coords)

void glVertex[2 3 4][s i f d]v (type *coords)

Каждая команда задает четыре координаты вершины: x, y, z, w. Команда glVertex2* получает значения x и y. Координата z в таком случае устанавливается по умолчанию равной 0, координата w – равной 1. Vertex3* получает координаты x, y, z и заносит в координату w значение 1. Vertex4* позволяет задать все четыре координаты.

Для ассоциации с вершинами цветов, нормалей и текстурных координат используются текущие значения соответствующих данных, что отвечает организации OpenGL как конечного автомата. Эти значения могут быть изменены в любой момент с помощью вызова соответствующих команд.

^ Цвет вершины

Для задания текущего цвета вершины используются команды :

void glColor[3 4][b s i f] (GLtype components)

void glColor[3 4][b s i f]v (GLtype components)

Первые три параметра задают R, G, B компоненты цвета, а последний параметр определяет коэффициент непрозрачности (так называемая альфа-компонента). Если в названии команды указан тип ‘f’ (float), то значения всех параметров должны принадлежать отрезку [0,1], при этом по умолчанию значение альфа-компоненты устанавливается равным 1.0, что соответствует полной непрозрачности. Тип ‘ub’ (unsigned byte) подразумевает, что значения должны лежать в отрезке [0,255].

  1   2   3   4   5   6

Похожие:

Ответы к экзамену Введение iconОтветы к экзамену Введение
Кг – комплекс средств для создания, хранения и обработки объектов и их изображения на ЭВМ
Ответы к экзамену Введение iconОтветы на гиа 2013
Платные ответы отличаются от бесплатных тем, что платные ответы мы сами скидываем Вам в личку Вконтакте ответы фотографией. Цена...
Ответы к экзамену Введение iconВопросы к экзамену по дисциплине «История языка и введение в спецфилологию»
Основные лексико-грамматические и фонетические особенности языков сино-тибетской семьи
Ответы к экзамену Введение iconОтветы к экзамену по эри
Теоретическая метрология – раздел метрологии, предметом которого является разработка фундаментальных основ метрологии
Ответы к экзамену Введение iconОтветы к экзамену по дисциплине «Основы социальной работы»
Все, что ускользает из поля зрения науки, компенсируют другие формы духовного постижения мира и человека: искусство, нравственность,...
Ответы к экзамену Введение iconОтветы по биологии 8 класс будут выкладываться здесь
Смотрите фотоальбом "ответы к рабочей тетради" Внимание!!! Ответы будут не сразу,а постепенно или же сразу,но по запросу участников...
Ответы к экзамену Введение iconОтветы
При неэффективно­сти отхаркивающих и разжижающих средств рекомендовано проведение повторных лечебных бронхоскопий с аспирацией бронхиального...
Ответы к экзамену Введение iconВведение Основная часть
Я задумалась над вопросом, каков состав чая, содержит ли он витамины и какого его влияние на организм человека, я захотела найти...
Ответы к экзамену Введение iconОтветы для подготовки к экзамену по Уголовному Праву РФ
Понятие, предмет, метод, задачи и система уголовного права РФ. Соотношение уголовного права с другими отраслями права. Принципы уголовного...
Ответы к экзамену Введение iconВопросы для подготовки к экзамену по теоретической механике для студентов специальности мд, фп, рмпи, пгс, гсх
Введение в кинематику. Предмет кинематики. Кинематика точки. Векторный и координатный способ задания движения точки. Скорость и ускорение...
Ответы к экзамену Введение iconОбязанности сотрудника дпс
Если раньше ответы на эти вопросы были общими, теперь они четко прописаны в Административном регламенте, который доступен для всех...
Вы можете разместить ссылку на наш сайт:
Документы


При копировании материала укажите ссылку ©ignorik.ru 2015

контакты
Документы