Компьютерная графика презентация

Содержание

Слайд 2

https://e.sfu-kras.ru/course/view.php?id=9144

Курсы / 
Институты / 
Институт математики и фундаментальной информатики / 
базовая каф. Вычислительных и информационных технологий / 

Компьютерная графика

Слайд 3

Запись на курс

группа кодовое слово
ИМ18-01 им18-01
ИМ18-02 им18-02
ИМ18-03 им18-03
ИМ18-04 им18-04
ИМ18-05 им18-05
ИМ18-06 им18-06
или кодовое

слово им1800

Слайд 4

Предмет и область применения компьютерной графики

Компьютерная графика - это область информатики, которая охватывает

все стороны формирования изображений с помощью компьютера.

Слайд 9

Виды компьютерной графики:

Научная графика
Деловая графика
Конструкторская графика
Иллюстративная графика
Художественная и рекламная графика


Компьютерная анимация

Слайд 10

Научная графика

Слайд 11

Назначение научной графики - наглядное изображение объектов научных исследований, графическая обработка результатов

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

Слайд 13

Деловая графика

Слайд 14

Деловая графика предназначена для наглядного представления различных показателей работы учреждений.
Виды деловой

графики: плановые показатели, отчетная документация, статистические сводки и т.д.

Слайд 16

Конструкторская графика

Слайд 17

Конструкторская графика используется в работе инженеров-конструкторов, архитекторов, изобретателей новой техники. Этот вид

компьютерной графики является обязательным элементом САПР (систем автоматизации проектирования).
Средствами конструкторской графики можно получать как плоские изображения (проекции, сечения), так и пространственные трехмерные изображения.

Слайд 19

Иллюстративная графика

Слайд 20

Иллюстративная графика - это произвольное рисование и черчение на экране компьютера.
Пакеты

иллюстративной графики относятся к прикладному программному обеспечению общего назначения.
Простейшие программные средства иллюстративной графики называются графическими редакторами.

Слайд 21

Художественная и рекламная графика

Слайд 22

К художественной и рекламной графике относятся созданные на компьютере рекламные ролики, мультфильмы,

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

Слайд 23

Программы для работы с художественной и иллюстративной графикой:
3D Studio MAX

Adobe Photoshop
Corel Draw
Autodesk Maya

Слайд 24

Компьютерная анимация

Слайд 25


Компьютерная анимация — вид анимации, создаваемый при помощи компьютера.
Мультимедиа - это

объединение высококачественного изображения на экране компьютера со звуковым сопровождением.

Слайд 26

Программы для создания компьютерной анимации:
3D Studio MAX
Adobe Flash

Autodesk Maya
Blender

Слайд 27

О природе света и цвета

Слайд 28

Интегральная кривая спектральной чувствительности глаза

 

Слайд 29

Кривые чувствительности различных рецепторов

Слайд 30

Цветовые модели компьютерной графики

Цветовая модель — модель описания представления цветов графики в виде

набора чисел (обычно из трёх или четырёх значений, называемых цветовыми компонентами или цветовыми координатами).
Цветовые модели подразделяются на аддитивные и субтрактивные модели.

Слайд 31

В аддитивной цветовой модели задаются три основных цвета, а любой другой цвет

представляется как взвешенная сумма трех основных цветов.
Аддитивная цветовая модель
RGB (Red, Green, Blue — красный, зелёный, синий).

Слайд 32

Другая модель смешивания цветов - субстрактивная цветовая модель, или модель CMYK(CMY), использующая

в качестве первичных составляющих цвета Cyan, Magenta, Yellow (голубой, пурпурный, желтый), которые являются дополнительными к Red, Green, Blue.
Связь между значениями (R,G,B) и (C,M,Y) для одного и того же цвета выражается формулой

Слайд 33

Субстрактивное формирование оттенков

Слайд 34

Цветовой куб для моделей RGB и CMY

Слайд 35

Схема смешения цветов для моделей RGB и CMY

Слайд 37

OpenGL (Open Graphics Library — открытая графическая библиотека, графическое API) — спецификация, определяющая независимый от

языка программирования платформонезависимый программный интерфейс для написания приложений, использующих двухмерную и трёхмерную компьютерную графику.

Слайд 38

Основные графические операции, которые выполняет OpenGL для вывода изображения на экран

Конструирует фигуры

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

Слайд 39


Визуализация (rendering) – это процесс, с помощью которого компьютер создает изображения

из моделей, состоящих из геометрических примитивов – точек, линий и полигонов. Примитивы, определяются своими вершинами (vertices).

Слайд 40


Пиксель (pixel) – это самый маленький видимый элемент, который монитор может

поместить на свой экран.

Слайд 41

Битовая плоскость – это область памяти, содержащая один бит информации на каждый пиксель

экрана.

Слайд 42

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

Слайд 43

Порядок формирования кадра
Очистка окна
Установка цвета
Рисование примитивов
Вывод на экран

Слайд 44

Очистка окна

glClearColor(1.0,1.0,1.0,0.0); // функция устанавливает цвет, коотоым будет заполнятся бцфер при очистке
glClear(GL_COLOR_BUFFER_BIT);
//

функция очищает буфер цвета
glClearDepth(1.0); // функция указывает значение, которое будет присвоено каждому пикселю в буфере глубины
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
// функция очищает буфер цвета и глубины

Слайд 45

Установка цвета

glColor3f(1.0,0.0,0.0);
// Функция принимает 3 параметра, каждый из которых является

вещественным числом в диапазоне между 0.0 и 1.0. Эти параметры, по порядку, указывают красный, зеленый и синий компоненты цвета.

Слайд 46

Примеры задания разных цветов

glColor3f(0.0,0.0,0.0); черный glColor3f(1.0,0.0,0.0); красный glColor3f(0.0,1.0,0.0); зеленый glColor3f(1.0,1.0,0.0); желтый glColor3f(0.0,0.0,1.0); синий glColor3f(1.0,0.0,1.0); фиолетовый glColor3f(0.0,1.0,1.0); голубой glColor3f(1.0,1.0,1.0); белый


Слайд 47

Вывод на экран

SwapBuffers(hDC)
// Функция осуществляет обмен переднего и заднего буферов

Слайд 48

Точки

Точка определяется набором вещественных чисел, называемым вершиной.
Координаты точки заданы в

трехмерном пространстве.

Слайд 49

Линии

Линия - сегмент прямой (отрезок).
Линия описывается двумя вершинами.
Примеры:

отрезок, ломаная и замкнутая ломаная

Слайд 50

Полигоны

Полигон (или многоугольник) – это область, ограниченная одной замкнутой ломаной, при этом

каждый отрезок ломаной описывается вершинами на его концах (вершинами полигона).

Слайд 51

Вершины

glVertex*() // функция указывает одну вершину для использования в описании геометрического

объекта
void glVertex{234}{sifd}(TYPE coords);
void glVertex{234}{sifd}v(const TYPE *coords);
Для каждой вершины можно указывать от 2 до 4 координат.
Разные версии функции:
glVertex2s - вершина из двух координат, имеющих тип short
glVertex2i - вершина из двух координат, имеющих тип int
glVertex3f - вершина из трех координат, имеющих тип float
glVertex4d - вершина из четырех координат, имеющих тип double
glVertex3dv - вершина из трех координат, имеющих тип double, координаты задаются массивом из трех элементов типа double

Слайд 52

Примеры задания вершин:

glVertex2s(1,5); glVertex3d(0.7,5.224,3.1415926535898); glVertex4f(2.1,1.3,-2.0,2.0); GLdouble dvect[3]={5.0,9.0,1992.0}; glVertex3dv(dvect);

Слайд 53

Примитив набор точек

glPointSize (20);
glEnable(GL_POINT_SMOOTH);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glColor3d(0, 0, 0);
glBegin(GL_POINTS);
glVertex2f(0.0,0.0);
glVertex2f(0.0,3.0);
glVertex2f(4.0,3.0);
glVertex2f(6.0,1.5);
glVertex2f(4.0,0.0);
glEnd();


Слайд 54

void glPointSize (GLfloat size);
Устанавливает длину и высоту (в пикселях) для визуализируемой точки,

size должен быть больше 0.0 и, по умолчанию, равен 1.0.
glEnable(GL_POINT_SMOOTH);

Слайд 55

void glLineWidth (GLfloat size);
Устанавливает толщину линии(в пикселях)

Слайд 56

Примитив линия


glColor3d(1, 0, 0);
glBegin(GL_LINES);
glVertex3d(0, 0, 0);
glVertex3d(5, 2, 0);
glEnd();


Слайд 57

Пример программы

#include
#include
#include
#include
#include
#include
#include "glaux.h"
using namespace std;
#pragma comment (lib,"opengl32.lib")
#pragma

comment (lib,"glu32.lib")
#pragma comment (lib, "glaux.lib")

Слайд 58

void CALLBACK resize(int width,int height)
{
glViewport(0,0,width,height);
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluPerspective(45.0, (GLfloat)width /

height, 1.0, 10000.0);
gluLookAt( 0,0,5, 0,0,0, 0,1,0 );
glMatrixMode( GL_MODELVIEW );
glEnable(GL_DEPTH_TEST);
glClearColor(0.2,0.3,0.4,0.0);
}

Слайд 59

void DrawLine(float x1, float y1, float z1, float x2, float y2, float z2,

float r, float g, float b)
{
glBegin(GL_LINES);
glColor3d(r, g, b);
glVertex3d(x1, y1, z1);
glVertex3d(x2, y2, z2);
glEnd();
}
void Draw()
{
float dx = 1;
for (int i = -10; i<=10; i++)
DrawLine(i*dx, -10, 0, i*dx, 10, 0, 1, 1, 1);
}

Слайд 60

void CALLBACK display(void)
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glLoadIdentity();
glTranslated(0, 0, -10);
Draw();
auxSwapBuffers();
}

Слайд 61

void RunOpenGL()
{
auxInitPosition( 0, 0, 600, 600);
auxInitDisplayMode( AUX_RGB | AUX_DEPTH | AUX_DOUBLE

);
auxInitWindow( "Glaux Template" );
auxIdleFunc(display);
auxReshapeFunc(resize);
auxMainLoop(display);
}
void main()
{
RunOpenGL();
}

Слайд 62

Линии

Слайд 63

Примитив линия


glLineWidth(1);
DrawLine(0, -10, 0, 0, 10, 0, 1, 1, 1);
DrawLine(-10, 0, 0,

10, 0, 0, 1, 1, 1);
glLineWidth(5);
DrawLine(-5, -2, 0, 5, -2, 0, 1, 0, 0);
DrawLine(-5, -2, 0, -5, 2, 0, 0, 1, 0);
DrawLine(-5, 2, 0, 5, 2, 0, 0, 0, 1);
DrawLine(0, 0, 0, 5, 2, 0, 1, 0, 0);
Имя файла: Компьютерная-графика.pptx
Количество просмотров: 21
Количество скачиваний: 0