Геометрические преобразования
Автор: HGHGFH • Май 19, 2023 • Лабораторная работа • 3,712 Слов (15 Страниц) • 214 Просмотры
МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение
высшего образования
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Институт автоматики и информационных технологий
Кафедра «Информационные технологии»
Отчет по лабораторной работе №7
по дисциплине | Графические системы компьютеров |
на тему | Геометрические преобразования |
Руководитель | Ст. преподаватель | С.А. Федосов | ||
(должность) | (подпись) | (дата) | (инициалы, фамилия) | |
Студенты | 3-ИАИТ-4 | Г.В. Аванесян | ||
(группа) | (подпись) | (дата) | (инициалы, фамилия) |
[pic 1]Самара 2022 г.
Цель работы – исследование команд OpenGL для модельновидовых преобразований и для преобразования проецирования.
Программное обеспечение. Для выполнения лабораторной работы на компьютере должен быть установлен пакет программ Microsoft isual Studio, библиотеки OpenTK, OpenTK.GLControl, Tao.FreeGlut
Задание
Разработать программу, в которой демонстрируются модельновидовые преобразования над трехмерными объектами и преобразование ортогонального и центрального проецирования для всей сцены. При подготовке к лабораторной работе следует руководствоваться материалами, изложенными в разд. 1.6 – 1.11, а также в [7].
Выполнение задания:
Код программы:
using System;
using System.Drawing;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;
using Tao.FreeGlut;
namespace lab7
{
public partial class Form1 : Form
{
private GLControl glControl1;
double deltax = 0, deltay = 0, deltaz = -10;
double gammaX = 0, gammaY = 0, gammaZ = 0, zoom = 1;
Color4 AmbientColor = new Color4(0.4f, 0.4f, 0.4f, 1.0f);
Color4 DiffuseColor = new Color4(0.7f, 0.7f, 0.7f, 1.0f);
Color4 SpecularColor = new Color4(0.4f, 0.4f, 0.4f, 1.0f);
Vector4 LightPos = new Vector4(0.0f, 0.0f, 0.0f, 1.0f);
Color4 MatSpec;
float viewAngle = 45;
public Form1()
{
InitializeComponent();
glControl1 = new GLControl();
//создаются обработчики событий для glControl1
glControl1.Resize += GLControl_Resize; // события Resize
glControl1.Load += GLControl_Load;
glControl1.Paint += GLControl_Paint;
...