Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Тривимірні побудови. Буфер глибини. Видові параметри. Паралельна і перспективна проекції

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Не вказано
Кафедра:
Кафедра захисту інформації

Інформація про роботу

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Програмування комп’ютерної графіки
Група:
УІ-32

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ З В І Т до лабораторної роботи №4 з курсу «Програмування комп’ютерної графіки» на тему: «Тривимірні побудови. Буфер глибини. Видові параметри. Паралельна і перспективна проекції» Виконав: ст. гр. ЗІ-31 Прийняла: Львів – 2011 Мета роботи. З'ясувати особливості тривимірного моделювання, побудови об'ємних зображень як проекцій на екранній плоскості; дати поняття про параметри вигляду. Варіант 1 Текст програми 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 Tao.OpenGl; using Tao.FreeGlut; using Tao.Platform.Windows; namespace GeometricTransformation { public partial class Form1 : Form { public Form1() { InitializeComponent(); // инициализация для работы с openGL AnT.InitializeContexts(); } // массив вершин создаваемого геометрического объекта private float[,] GeomObject = new float[32, 3]; // счеткик его вершин private int count_elements = 0; // событие загрузки формы окна private void Form1_Load(object sender, EventArgs e) { // инициализация OpenGL, много раз комментированная ранее Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH); Gl.glClearColor(255, 255, 255, 1); Gl.glViewport(0, 0, AnT.Width, AnT.Height); Gl.glMatrixMode(Gl.GL_PROJECTION); Gl.glLoadIdentity(); Glu.gluPerspective(45, (float)AnT.Width / (float)AnT.Height, 0.1, 200); Gl.glMatrixMode(Gl.GL_MODELVIEW); Gl.glLoadIdentity(); Gl.glEnable(Gl.GL_DEPTH_TEST); // пирамида для визуализации (4 точки) GeomObject[0, 0] = 0; GeomObject[0, 1] = 0.3f; GeomObject[0, 2] = 0.2f; GeomObject[1, 0] = 0.3f; GeomObject[1, 1] = 0.3f; GeomObject[1, 2] = 0; GeomObject[2, 0] = 0f; GeomObject[2, 1] = 0; GeomObject[2, 2] = 0.7f; GeomObject[3, 0] = 0.6f; GeomObject[3, 1] = 0.7f; GeomObject[3, 2] = 0.5f; // количество вершин рассматриваемого геометричекого объекта count_elements = 4; // устанавливаем ось X по умолчанию comboBox1.SelectedIndex = 0; // начало визуализации (активируем таймер) RenderTimer.Start(); } // функция отрисовки private void Draw() { // очистка буфера цвета и буфера глубины Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); Gl.glClearColor(255, 255, 255, 1); // очищение текущей матрицы Gl.glLoadIdentity(); // утснаовка черного цвета Gl.glColor3f(0, 0, 0); // помещаем состояние матрицы в стек матриц Gl.glPushMatrix(); // перемещаем камеру для более хорошего обзора объекта Gl.glTranslated(0, 0, -7); // поворачиваем ее на 30 градусов Gl.glRotated(30, 1, 1, 0); // помещаем состояние матрицы в стек матриц Gl.glPushMatrix(); // начинаем отрисовку объекта Gl.glBegin(Gl.GL_LINE_LOOP); // геометрические данные ме бырем из массива GeomObject // рисуем основание с помощью зацикленной линии Gl.glVertex3d(GeomObject[0, 0], GeomObject[0, 1], GeomObject[0, 2]); Gl.glVertex3d(GeomObject[1, 0], GeomObject[1, 1], GeomObject[1, 2]); Gl.glVertex3d(GeomObject[2, 0], GeomObject[2, 1], GeomObject[2, 2]); // завершаем отрисовку примитивов Gl.glE...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини