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

Нажмите для полного просмотра!
Компьютерная графика, слайд №1Компьютерная графика, слайд №2Компьютерная графика, слайд №3Компьютерная графика, слайд №4Компьютерная графика, слайд №5Компьютерная графика, слайд №6Компьютерная графика, слайд №7Компьютерная графика, слайд №8Компьютерная графика, слайд №9Компьютерная графика, слайд №10Компьютерная графика, слайд №11Компьютерная графика, слайд №12Компьютерная графика, слайд №13Компьютерная графика, слайд №14Компьютерная графика, слайд №15Компьютерная графика, слайд №16Компьютерная графика, слайд №17Компьютерная графика, слайд №18Компьютерная графика, слайд №19Компьютерная графика, слайд №20Компьютерная графика, слайд №21Компьютерная графика, слайд №22Компьютерная графика, слайд №23Компьютерная графика, слайд №24Компьютерная графика, слайд №25Компьютерная графика, слайд №26Компьютерная графика, слайд №27Компьютерная графика, слайд №28Компьютерная графика, слайд №29Компьютерная графика, слайд №30Компьютерная графика, слайд №31Компьютерная графика, слайд №32Компьютерная графика, слайд №33Компьютерная графика, слайд №34Компьютерная графика, слайд №35Компьютерная графика, слайд №36Компьютерная графика, слайд №37Компьютерная графика, слайд №38Компьютерная графика, слайд №39Компьютерная графика, слайд №40Компьютерная графика, слайд №41Компьютерная графика, слайд №42Компьютерная графика, слайд №43Компьютерная графика, слайд №44Компьютерная графика, слайд №45Компьютерная графика, слайд №46Компьютерная графика, слайд №47

Содержание

Вы можете ознакомиться и скачать презентацию на тему Компьютерная графика. Доклад-сообщение содержит 47 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Компьютерная графика
Шлеймович Михаил Петрович
Описание слайда:
Компьютерная графика Шлеймович Михаил Петрович

Слайд 2





Темы
Введение в компьютерную графику
Преобразования модели
Преобразования координат
Преобразования проецирования
Растровая графика
Трехмерное моделирование
Модели освещения
Текстура
Описание слайда:
Темы Введение в компьютерную графику Преобразования модели Преобразования координат Преобразования проецирования Растровая графика Трехмерное моделирование Модели освещения Текстура

Слайд 3





Литература
Баяковский Ю.М., Игнатенко А.В. Начальный курс OpenGL. – М.: «Планета знаний», 2007
Божко А.Н., Жук Д.М., Маничев В.Б. Компьютерная графика: Учеб. пособие для вузов. – М.: Изд-во МГТУ им. Н.Э.Баумана, 2007.
Боресков А.В. Графика трехмерной компьютерной игры на основе OpenGL. – М.: ДИАЛОГ-МИФИ, 2004.
By М., Девис Т., Нейдер Дж., Шрайнер Д. OpenGL. Руководство по программированию. Библиотека программиста. 4-е издание. – СПб.: Питер, 2006.
Евченко А.И. OpenGL и DirectX: программирование графики. Для профессионалов (+CD). – СПб.: Питер, 2006.
Никулин Е.А. Компьютерная геометрия и алгоритмы машинной графики. – СПб.: БХВ-Петербург, 2003.
Райт Р.С., Липчак Б. OpenGL. Суперкнига, 3-издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2006.
Описание слайда:
Литература Баяковский Ю.М., Игнатенко А.В. Начальный курс OpenGL. – М.: «Планета знаний», 2007 Божко А.Н., Жук Д.М., Маничев В.Б. Компьютерная графика: Учеб. пособие для вузов. – М.: Изд-во МГТУ им. Н.Э.Баумана, 2007. Боресков А.В. Графика трехмерной компьютерной игры на основе OpenGL. – М.: ДИАЛОГ-МИФИ, 2004. By М., Девис Т., Нейдер Дж., Шрайнер Д. OpenGL. Руководство по программированию. Библиотека программиста. 4-е издание. – СПб.: Питер, 2006. Евченко А.И. OpenGL и DirectX: программирование графики. Для профессионалов (+CD). – СПб.: Питер, 2006. Никулин Е.А. Компьютерная геометрия и алгоритмы машинной графики. – СПб.: БХВ-Петербург, 2003. Райт Р.С., Липчак Б. OpenGL. Суперкнига, 3-издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2006.

Слайд 4





Литература
Роджерс Д. Алгоритмические основы машинной графики: Пер. с англ. – М.: Мир, 1989.
Роджерс Д., Адамс Дж. Математические основы машинной графики: Пер. с англ. – М.: Мир, 2001.
Роджерс Д., Адамс Дж. Математические основы машинной графики. – М.: Машиностроение, 1980.
Сиденко Л.А. Компьютерная графика и геометрическое моделирование: Учебное пособие. – СПб.: Питер, 2009.
Херн Д., Бейкер М. Паулин. Компьютерная графика и стандарт OpenGL, 3-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2005.
Хилл Ф. OpenGL. Программирование компьютерной графики. Для профессионалов. – СПб.: Питер, 2002.
Эйнджел Э. Интерактивная компьютерная графика. Вводный курс на базе OpenGL, 2-е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2001.
Описание слайда:
Литература Роджерс Д. Алгоритмические основы машинной графики: Пер. с англ. – М.: Мир, 1989. Роджерс Д., Адамс Дж. Математические основы машинной графики: Пер. с англ. – М.: Мир, 2001. Роджерс Д., Адамс Дж. Математические основы машинной графики. – М.: Машиностроение, 1980. Сиденко Л.А. Компьютерная графика и геометрическое моделирование: Учебное пособие. – СПб.: Питер, 2009. Херн Д., Бейкер М. Паулин. Компьютерная графика и стандарт OpenGL, 3-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2005. Хилл Ф. OpenGL. Программирование компьютерной графики. Для профессионалов. – СПб.: Питер, 2002. Эйнджел Э. Интерактивная компьютерная графика. Вводный курс на базе OpenGL, 2-е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2001.

Слайд 5





Учебное пособие
	Набережнов Г.М., Максимов Н.Н. Компьютерная геометрия и графика: Учебное пособие / Под ред. канд. техн. наук Г.М. Набережнова. Казань: Изд-во Казан. гос. техн. ун-та, 2009.
Описание слайда:
Учебное пособие Набережнов Г.М., Максимов Н.Н. Компьютерная геометрия и графика: Учебное пособие / Под ред. канд. техн. наук Г.М. Набережнова. Казань: Изд-во Казан. гос. техн. ун-та, 2009.

Слайд 6





1. Введение в компьютерную графику
Описание слайда:
1. Введение в компьютерную графику

Слайд 7





Графический процесс
Описание слайда:
Графический процесс

Слайд 8





OpenGL
http://www.opengl.org
Описание слайда:
OpenGL http://www.opengl.org

Слайд 9





OpenGL
Описание слайда:
OpenGL

Слайд 10





Конвейер OpenGL
Описание слайда:
Конвейер OpenGL

Слайд 11





Пример программы 1
#include <GL/glut.h>
void init();
void draw();
void main(int argc, char **argv)
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
	glutInitWindowSize(640, 480);
	glutInitWindowPosition(50, 50);
	glutCreateWindow("My program");
	init();
	glutDisplayFunc(draw);
	glutMainLoop();
}
Описание слайда:
Пример программы 1 #include <GL/glut.h> void init(); void draw(); void main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(640, 480); glutInitWindowPosition(50, 50); glutCreateWindow("My program"); init(); glutDisplayFunc(draw); glutMainLoop(); }

Слайд 12





Пример программы 1
void init(void)
{	
    	glClearColor(1.0,1.0,0.0,0.0);
	glClear(GL_COLOR_BUFFER_BIT);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	gluOrtho2D(0, 640, 0, 480);
	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();
}
Описание слайда:
Пример программы 1 void init(void) { glClearColor(1.0,1.0,0.0,0.0); glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0, 640, 0, 480); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); }

Слайд 13





Пример программы 1
void draw(void) 
{ 
	glClear(GL_COLOR_BUFFER_BIT); 
	glViewport(0, 0, 640, 480);
	glColor3f(1.0, 0.0, 0.0);
	glBegin(GL_LINE_STRIP);
	GLfloat x, y;
	for(x = 0; x < 640; x++)
	{
		y = 240 * (1 + sin(0.05 * x) * exp(-0.005 * x);
		glVertex2f(x, y);
	}
	glEnd();
	glFlush();
}
Описание слайда:
Пример программы 1 void draw(void) { glClear(GL_COLOR_BUFFER_BIT); glViewport(0, 0, 640, 480); glColor3f(1.0, 0.0, 0.0); glBegin(GL_LINE_STRIP); GLfloat x, y; for(x = 0; x < 640; x++) { y = 240 * (1 + sin(0.05 * x) * exp(-0.005 * x); glVertex2f(x, y); } glEnd(); glFlush(); }

Слайд 14





Пример программы 1
Описание слайда:
Пример программы 1

Слайд 15





OpenGL
Описание слайда:
OpenGL

Слайд 16





Типы OpenGL
Описание слайда:
Типы OpenGL

Слайд 17





Примитивы
Описание слайда:
Примитивы

Слайд 18





Примитивы
Описание слайда:
Примитивы

Слайд 19





Пример программы 2
#include <GL/glut.h>
void init (void);
void display(void);
int main(int argc, char** argv)
{
  	glutInit(&argc, argv);
  	glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
	glutInitWindowSize (250, 250);
	glutInitWindowPosition (100, 100);
	glutCreateWindow ("hello");
	init ();
	glutDisplayFunc(display);
	glutMainLoop();
	return 0;
}
Описание слайда:
Пример программы 2 #include <GL/glut.h> void init (void); void display(void); int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize (250, 250); glutInitWindowPosition (100, 100); glutCreateWindow ("hello"); init (); glutDisplayFunc(display); glutMainLoop(); return 0; }

Слайд 20





Пример программы 2
void init (void)
{
	glClearColor (1.0, 1.0, 1.0, 0.0);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
Описание слайда:
Пример программы 2 void init (void) { glClearColor (1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); }

Слайд 21





Пример программы 2
void display(void)
{
	glClear (GL_COLOR_BUFFER_BIT);
	glColor3f (1.0, 0.0, 0.0);
	glBegin(GL_LINES);
	glVertex3f (0.25, 0.25, 0.0);
	glVertex3f (0.75, 0.25, 0.0);
	glVertex3f (0.75, 0.75, 0.0);
	glVertex3f (0.25, 0.75, 0.0);
	glEnd();
	glFlush ();
}
Описание слайда:
Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_LINES); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); glFlush (); }

Слайд 22





Пример программы 2
void display(void)
{
	glClear (GL_COLOR_BUFFER_BIT);
	glColor3f (1.0, 0.0, 0.0);
	glBegin(GL_LINE_STRIP);
	glVertex3f (0.25, 0.25, 0.0);
	glVertex3f (0.75, 0.25, 0.0);
	glVertex3f (0.75, 0.75, 0.0);
	glVertex3f (0.25, 0.75, 0.0);
	glEnd();
	glFlush ();
}
Описание слайда:
Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_LINE_STRIP); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); glFlush (); }

Слайд 23





Пример программы 2
void display(void)
{
	glClear (GL_COLOR_BUFFER_BIT);
	glColor3f (1.0, 0.0, 0.0);
	glBegin(GL_LINE_LOOP);
	glVertex3f (0.25, 0.25, 0.0);
	glVertex3f (0.75, 0.25, 0.0);
	glVertex3f (0.75, 0.75, 0.0);
	glVertex3f (0.25, 0.75, 0.0);
	glEnd();
	glFlush ();
}
Описание слайда:
Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_LINE_LOOP); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); glFlush (); }

Слайд 24





Пример программы 2
void display(void)
{
	glClear (GL_COLOR_BUFFER_BIT);
	glColor3f (1.0, 0.0, 0.0);
	glBegin(GL_TRIANGLES);
	glVertex3f (0.25, 0.25, 0.0);
	glVertex3f (0.75, 0.25, 0.0);
	glVertex3f (0.75, 0.75, 0.0);
	glVertex3f (0.25, 0.75, 0.0);
	glEnd();
	glFlush ();
}
Описание слайда:
Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_TRIANGLES); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); glFlush (); }

Слайд 25





Пример программы 2
void display(void)
{
	glClear (GL_COLOR_BUFFER_BIT);
	glColor3f (1.0, 0.0, 0.0);
	glBegin(GL_TRIANGLE_STRIP);
	glVertex3f (0.25, 0.25, 0.0);
	glVertex3f (0.75, 0.25, 0.0);
	glVertex3f (0.75, 0.75, 0.0);
	glVertex3f (0.25, 0.75, 0.0);
	glEnd();
	glFlush ();
}
Описание слайда:
Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_TRIANGLE_STRIP); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); glFlush (); }

Слайд 26





Пример программы 2
void display(void)
{
	glClear (GL_COLOR_BUFFER_BIT);
	glColor3f (1.0, 0.0, 0.0);
	glBegin(GL_TRIANGLE_FAN);
	glVertex3f (0.25, 0.25, 0.0);
	glVertex3f (0.75, 0.25, 0.0);
	glVertex3f (0.75, 0.75, 0.0);
	glVertex3f (0.25, 0.75, 0.0);
	glEnd();
	glFlush ();
}
Описание слайда:
Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_TRIANGLE_FAN); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); glFlush (); }

Слайд 27





Пример программы 2
void display(void)
{
	glClear (GL_COLOR_BUFFER_BIT);
	glColor3f (1.0, 0.0, 0.0);
	glPolygonMode(GL_FRONT, GL_LINE);
	glBegin(GL_TRIANGLE_FAN);
	glVertex3f (0.25, 0.25, 0.0);
	glVertex3f (0.75, 0.25, 0.0);
	glVertex3f (0.75, 0.75, 0.0);
	glVertex3f (0.25, 0.75, 0.0);
	glEnd();
	glFlush ();
}
Описание слайда:
Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glPolygonMode(GL_FRONT, GL_LINE); glBegin(GL_TRIANGLE_FAN); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); glFlush (); }

Слайд 28





Пример программы 2
void display(void)
{
	glClear (GL_COLOR_BUFFER_BIT);
	glColor3f (1.0, 0.0, 0.0);
	glBegin(GL_POLYGON);
	glVertex3f (0.25, 0.25, 0.0);
	glVertex3f (0.75, 0.25, 0.0);
	glVertex3f (0.75, 0.75, 0.0);
	glVertex3f (0.25, 0.75, 0.0);
	glEnd();
	glFlush ();
}
Описание слайда:
Пример программы 2 void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glBegin(GL_POLYGON); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); glFlush (); }

Слайд 29





События
void glutDisplayFunc(void (*func)(void));
void glutPostRedisplay(void);
void glutIdleFunc(void (*func)(void));
void glutReshapeFunc(void (*func)(int width, int height));
void glutKeyboardFunc(void (*func)(unsigned char key, int x, int y));
void glutSpecialFunc(void (*func)(int key, int x, int y));
		GLUT_KEY_F1
		…
		GLUT_KEY_F12 
		GLUT_KEY_LEFT
		GLUT_KEY_UP,
		GLUT_KEY_RIGHT
		GLUT_KEY_DOWN
		GLUT_KEY_PAGE_UP
		GLUT_KEY_PAGE_DOWN
		GLUT_KEY_HOME
		GLUT_KEY_END
		GLUT_KEY_INSERT
Описание слайда:
События void glutDisplayFunc(void (*func)(void)); void glutPostRedisplay(void); void glutIdleFunc(void (*func)(void)); void glutReshapeFunc(void (*func)(int width, int height)); void glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)); void glutSpecialFunc(void (*func)(int key, int x, int y)); GLUT_KEY_F1 … GLUT_KEY_F12 GLUT_KEY_LEFT GLUT_KEY_UP, GLUT_KEY_RIGHT GLUT_KEY_DOWN GLUT_KEY_PAGE_UP GLUT_KEY_PAGE_DOWN GLUT_KEY_HOME GLUT_KEY_END GLUT_KEY_INSERT

Слайд 30





События
void glutMouseFunc(void (*func)(int button, int state, int x, int y));
		button:
			GLUT_LEFT_BUTTON
			GLUT_MIDDLE_BUTTON
			GLUT_RIGHT_BUTTON
		state:
			GLUT_UP 
			GLUT_DOWN
void glutMotionFunc(void (*func)(int x, int y));
void glutPassiveMotionFunc(void (*func)(int x, int y));
Описание слайда:
События void glutMouseFunc(void (*func)(int button, int state, int x, int y)); button: GLUT_LEFT_BUTTON GLUT_MIDDLE_BUTTON GLUT_RIGHT_BUTTON state: GLUT_UP GLUT_DOWN void glutMotionFunc(void (*func)(int x, int y)); void glutPassiveMotionFunc(void (*func)(int x, int y));

Слайд 31





Пример программы 3
#include <GL/glut.h>
void init (void);
void display(void);
void keyboard(unsigned char, int, int);
void reshape (int, int);
int main(int argc, char** argv)
{
   glutInit(&argc, argv);
   glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
   glutInitWindowSize (250, 250); 
   glutInitWindowPosition (100, 100);
   glutCreateWindow ("hello");
   init ();
   glutDisplayFunc(display); 
   glutReshapeFunc(reshape);
   glutKeyboardFunc(keyboard);
   glutMainLoop();
   return 0;
}
Описание слайда:
Пример программы 3 #include <GL/glut.h> void init (void); void display(void); void keyboard(unsigned char, int, int); void reshape (int, int); int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize (250, 250); glutInitWindowPosition (100, 100); glutCreateWindow ("hello"); init (); glutDisplayFunc(display); glutReshapeFunc(reshape); glutKeyboardFunc(keyboard); glutMainLoop(); return 0; }

Слайд 32





Пример программы 3
void init (void) 
{
   glClearColor (1.0, 1.0, 1.0, 0.0);
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
void display(void)
{
   	glClear (GL_COLOR_BUFFER_BIT);
   	glColor3f (1.0, 0.0, 0.0);
  	glPolygonMode(GL_FRONT, GL_LINE); 
  	glBegin(GL_POLYGON);
      glVertex3f (0.25, 0.25, 0.0);
      glVertex3f (0.75, 0.25, 0.0);
      glVertex3f (0.75, 0.75, 0.0);
      glVertex3f (0.25, 0.75, 0.0);
   	glEnd();
	glFlush ();
}
Описание слайда:
Пример программы 3 void init (void) { glClearColor (1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); } void display(void) { glClear (GL_COLOR_BUFFER_BIT); glColor3f (1.0, 0.0, 0.0); glPolygonMode(GL_FRONT, GL_LINE); glBegin(GL_POLYGON); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); glFlush (); }

Слайд 33





Пример программы 3
void keyboard(unsigned char key, int x, int y)
{
   	switch (key)
	{
		case 27:
			exit(0);
			break;
	}
}
void reshape (int w, int h)
{
	if (w / h < 1) glViewport(0, 0, w, w);
	else glViewport(0, 0, h, h); 
}
Описание слайда:
Пример программы 3 void keyboard(unsigned char key, int x, int y) { switch (key) { case 27: exit(0); break; } } void reshape (int w, int h) { if (w / h < 1) glViewport(0, 0, w, w); else glViewport(0, 0, h, h); }

Слайд 34





Пример программы 3
Описание слайда:
Пример программы 3

Слайд 35





Пример программы 4
#include <GL/glut.h>
include <windows.h>
#include <Gl/glut.h>
#define _USE_MATH_DEFINES
#include <math.h>
float R     = 150.0;
float angle = 0.0;
float X0    = 0.0;
float Y0    = 0.0;
int   n     = 3;
int   width = 640;
int   height= 480;
Описание слайда:
Пример программы 4 #include <GL/glut.h> include <windows.h> #include <Gl/glut.h> #define _USE_MATH_DEFINES #include <math.h> float R = 150.0; float angle = 0.0; float X0 = 0.0; float Y0 = 0.0; int n = 3; int width = 640; int height= 480;

Слайд 36





Пример программы 4
void figure(void)
{
	glBegin(GL_LINE_LOOP);
	for(int i = 0; i < n; i++)
	{
		float x = X0 + R * cos(2 * M_PI * i / n + angle);
		float y = Y0 + R * sin(2 * M_PI * i / n + angle);
		glVertex2f(x, y);
	}
	glEnd();
}
void init(void)
{
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	gluOrtho2D(-320, 320, -240, 240);
}
Описание слайда:
Пример программы 4 void figure(void) { glBegin(GL_LINE_LOOP); for(int i = 0; i < n; i++) { float x = X0 + R * cos(2 * M_PI * i / n + angle); float y = Y0 + R * sin(2 * M_PI * i / n + angle); glVertex2f(x, y); } glEnd(); } void init(void) { glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(-320, 320, -240, 240); }

Слайд 37





Пример программы 4
void display(void)
{
	glClearColor(1.0, 1.0, 1.0, 0.0);
	glClear(GL_COLOR_BUFFER_BIT);
	glColor3f(0.0, 0.0, 0.0);
	figure();
	glFlush();
}
void keyboard(unsigned char key, int x, int y)
{
	float min = ((width < height) ? width : height) / 2;
	if(key == '+' && R < min) R++;
	if(key == '-' && R > 0) R--;
	glutPostRedisplay();
}
Описание слайда:
Пример программы 4 void display(void) { glClearColor(1.0, 1.0, 1.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 0.0, 0.0); figure(); glFlush(); } void keyboard(unsigned char key, int x, int y) { float min = ((width < height) ? width : height) / 2; if(key == '+' && R < min) R++; if(key == '-' && R > 0) R--; glutPostRedisplay(); }

Слайд 38





Пример программы 4
void special(int key, int x, int y)
{	switch(key)
	{	case GLUT_KEY_F1:    n = 3;  break;
		case GLUT_KEY_F2:    n = 4;  break;
		case GLUT_KEY_F3:    n = 5;  break;
		case GLUT_KEY_F4:    n = 6;  break;
		case GLUT_KEY_F5:    n = 7;  break;
		case GLUT_KEY_F6:    n = 8;  break;
		case GLUT_KEY_F7:    n = 9;  break;
		case GLUT_KEY_F8:    n = 10; break;
		case GLUT_KEY_F9:    n = 11; break;
		case GLUT_KEY_F10:   n = 12; break;
		case GLUT_KEY_F11:   n = 13; break;
		case GLUT_KEY_F12:   n = 14; break;
		case GLUT_KEY_LEFT:  if(X0 > -width / 2) X0--; break;
		case GLUT_KEY_RIGHT: if(X0 <  width / 2)  X0++; break;
		case GLUT_KEY_UP:    if(Y0 <  height / 2) Y0++; break;
		case GLUT_KEY_DOWN:  if(Y0 > -height / 2) Y0--; break;
	}
	glutPostRedisplay();
}
Описание слайда:
Пример программы 4 void special(int key, int x, int y) { switch(key) { case GLUT_KEY_F1: n = 3; break; case GLUT_KEY_F2: n = 4; break; case GLUT_KEY_F3: n = 5; break; case GLUT_KEY_F4: n = 6; break; case GLUT_KEY_F5: n = 7; break; case GLUT_KEY_F6: n = 8; break; case GLUT_KEY_F7: n = 9; break; case GLUT_KEY_F8: n = 10; break; case GLUT_KEY_F9: n = 11; break; case GLUT_KEY_F10: n = 12; break; case GLUT_KEY_F11: n = 13; break; case GLUT_KEY_F12: n = 14; break; case GLUT_KEY_LEFT: if(X0 > -width / 2) X0--; break; case GLUT_KEY_RIGHT: if(X0 < width / 2) X0++; break; case GLUT_KEY_UP: if(Y0 < height / 2) Y0++; break; case GLUT_KEY_DOWN: if(Y0 > -height / 2) Y0--; break; } glutPostRedisplay(); }

Слайд 39





Пример программы 4
void reshape(int w, int h)
{
	width  = w;
	height = h;
	glViewport(0, 0, w, h);
	glutPostRedisplay();
}
void mouse(int button, int state, int x, int y)
{
	if(button == GLUT_LEFT_BUTTON && state == GLUT_UP)
	{
		X0 = 640.0 / width  * ( x - width  / 2);
		Y0 = 480.0 / height * (-y + height / 2);
	}
	if(button == GLUT_RIGHT_BUTTON && state == GLUT_UP)
	{
		angle += 0.01;
		if(angle >= 360.0) angle = 0.0;
	}
	glutPostRedisplay();
}
Описание слайда:
Пример программы 4 void reshape(int w, int h) { width = w; height = h; glViewport(0, 0, w, h); glutPostRedisplay(); } void mouse(int button, int state, int x, int y) { if(button == GLUT_LEFT_BUTTON && state == GLUT_UP) { X0 = 640.0 / width * ( x - width / 2); Y0 = 480.0 / height * (-y + height / 2); } if(button == GLUT_RIGHT_BUTTON && state == GLUT_UP) { angle += 0.01; if(angle >= 360.0) angle = 0.0; } glutPostRedisplay(); }

Слайд 40





Пример программы 4
void main(int argc, char **argv)
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
	glutInitWindowSize(640, 480);
	glutInitWindowPosition(0,0);
	glutCreateWindow("Управление многоугольником");
	glutDisplayFunc(display);
	glutKeyboardFunc(keyboard);
	glutSpecialFunc(special);
	glutMouseFunc(mouse);
	glutReshapeFunc(reshape);
	init();
	glutMainLoop();
}
Описание слайда:
Пример программы 4 void main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(640, 480); glutInitWindowPosition(0,0); glutCreateWindow("Управление многоугольником"); glutDisplayFunc(display); glutKeyboardFunc(keyboard); glutSpecialFunc(special); glutMouseFunc(mouse); glutReshapeFunc(reshape); init(); glutMainLoop(); }

Слайд 41





Пример программы 3
Описание слайда:
Пример программы 3

Слайд 42





OpenTK
http://www.opentk.com
Windows.Form
Описание слайда:
OpenTK http://www.opentk.com Windows.Form

Слайд 43





Пример программы 5
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;
Описание слайда:
Пример программы 5 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenTK.Graphics; using OpenTK.Graphics.OpenGL;

Слайд 44





Пример программы 5
namespace ExampleOpenTK
{
    public partial class OpenTK_Form : Form
    {
        public OpenTK_Form()
        {
            InitializeComponent();
        }
        private void glControl1_Load(object sender, EventArgs e)
        {
            GL.ClearColor(1.0f, 1.0f, 0.0f, 0.0f);
            GL.MatrixMode(MatrixMode.Projection);
            GL.LoadIdentity();
            GL.Ortho(0, this.ClientSize.Width, 0, this.ClientSize.Height, -1, 1);
            GL.MatrixMode(MatrixMode.Modelview);
            GL.LoadIdentity();
        }
Описание слайда:
Пример программы 5 namespace ExampleOpenTK { public partial class OpenTK_Form : Form { public OpenTK_Form() { InitializeComponent(); } private void glControl1_Load(object sender, EventArgs e) { GL.ClearColor(1.0f, 1.0f, 0.0f, 0.0f); GL.MatrixMode(MatrixMode.Projection); GL.LoadIdentity(); GL.Ortho(0, this.ClientSize.Width, 0, this.ClientSize.Height, -1, 1); GL.MatrixMode(MatrixMode.Modelview); GL.LoadIdentity(); }

Слайд 45





Пример программы 5
 private void glControl1_Paint(object sender, PaintEventArgs e)
 {
 	GL.Clear(ClearBufferMask.ColorBufferBit);
	GL.Viewport(0, 0, this.ClientSize.Width, this.ClientSize.Height);
	GL.Color3(1.0, 0.0, 0.0);
	GL.Begin(BeginMode.LineStrip);
	float x, y;
	for (x = 0; x < this.Width; x++)
	{
		y = this.ClientSize.Height / 2 * (1 + (float)Math.Sin(0.05 * x) * 
			(float)Math.Exp(-0.005 * x));
		GL.Vertex2(x, y);
	}
	GL.End();
	glControl1.SwapBuffers();
}
Описание слайда:
Пример программы 5 private void glControl1_Paint(object sender, PaintEventArgs e) { GL.Clear(ClearBufferMask.ColorBufferBit); GL.Viewport(0, 0, this.ClientSize.Width, this.ClientSize.Height); GL.Color3(1.0, 0.0, 0.0); GL.Begin(BeginMode.LineStrip); float x, y; for (x = 0; x < this.Width; x++) { y = this.ClientSize.Height / 2 * (1 + (float)Math.Sin(0.05 * x) * (float)Math.Exp(-0.005 * x)); GL.Vertex2(x, y); } GL.End(); glControl1.SwapBuffers(); }

Слайд 46





Пример программы 5
	private void glControl1_Resize(object sender, EventArgs e)
	{
		GL.ClearColor(1.0f, 1.0f, 0.0f, 0.0f);
		GL.MatrixMode(MatrixMode.Projection);
		GL.LoadIdentity();
		GL.Ortho(0, this.ClientSize.Width, 0, this.ClientSize.Height, -1, 1);
		GL.MatrixMode(MatrixMode.Modelview);
		GL.LoadIdentity();
	}
}
Описание слайда:
Пример программы 5 private void glControl1_Resize(object sender, EventArgs e) { GL.ClearColor(1.0f, 1.0f, 0.0f, 0.0f); GL.MatrixMode(MatrixMode.Projection); GL.LoadIdentity(); GL.Ortho(0, this.ClientSize.Width, 0, this.ClientSize.Height, -1, 1); GL.MatrixMode(MatrixMode.Modelview); GL.LoadIdentity(); } }

Слайд 47





Пример программы 5
Описание слайда:
Пример программы 5



Похожие презентации
Mypresentation.ru
Загрузить презентацию