Демонстрация эффекта "альфа–смешения" - Курсовая работа

бесплатно 0
4.5 71
Разработка приложения для демонстрации эффекта "альфа-смешения" методом модульного и объектно-ориентированного программирования. Проектирование архитектуры программного продукта и пользовательского интерфейс. Описание алгоритма на естественном языке.


Аннотация к работе
Альфа-смешение (alpha blending) - техника создания эффекта полупрозрачности путем объединения исходного пиксела с пикселом, уже находящимся во фрейм-буфере. Каждому пикселу обычно ставится в соответствие значения красного, зеленого и синего компонентов цвета (R,G,B). Если ставится в соответствие еще альфа-значение, то говорят что пикселы имеют альфа-канал (компонент Объекты могут иметь различную прозрачность, например стекло имеет высокий уровень прозрачности (и таким образом низкое альфа-значение), а желе - средний уровень.Сцена состоит из нескольких объектов, демонстрирующих эффект альфа - смешения: пирамида, алмаз, объемная трапеция. Между стенками расположен полупрозрачный куб (компонент альфа равен 150), в котором расположен алмаз (компонент альфа равен 185(эффект замутнения)), вокруг которого вращается камера.Функциональность: программа должна являться полностью завершенным программным продуктом, не требующим каких-либо дополнительных специальных компонентов.Технические характеристики для компьютера, на котором будет выполняться программа: - компьютер/процессор: компьютер с процессором класса Pentium IV2 ГГЦ;Структура программы представлена на рисунке 1. Программный модуль - модуль формы "Form1.cs" - реализует интерфейс программы, таймер для поворота камеры.Главная форма Form1.cs реализует интерфейс программы.В процессе выполнения поставленной задачи были разработаны классы, реализующие базовые понятия, такие как: 1) STRUCTPOINT - структура, описывающая точки в пространстве. Поля: ? poligonlist - содержитполигон, описанный вершинами точек; ? sdviglist - содержит сортированные друг-за-другом полигоны Методы: ? SOTRPOLIGONS - сортирует полигоны для отрисовки видимых и невидимых; Поля: ? x - содержиткоординату x изображения;Алгоритм заключается в том, что сначала создаются массивы из вершин фигур, затем вершины соединяются по три или более точек, образуя полигон. Затем Полигоны сортируются по дальности, и на ближних полигонах отрисовываются дальние полигоны в пределах видимости полигона и цвет дальних полигонов складывается в RGBМОДЕЛИ, получая новый цвет. Эффект альфа - смешения реализуется за счет изменения альфа компоненты RGBМОДЕЛИ при отрисовке. На рисунке 3 представлена блок-схема разработанного приложения. На рисунке 4 представлена блок-схема алгоритма рисования изображенияВ рамках курсовой работы было разработано приложение для демонстрации эффекта "Альфа - смешения". Для разработки данной программы, нужно было изучить и понять методы алгоритмизации, программирования, общей и компьютерной геометрии и графики, такие, как: - Построение ортогональной и видовой проекции трехмерного объекта;using System.Drawing; for (int i = 0; i <points.Count; i ) p[i] = new System.Drawing.Point((int)(Math.Round(GRAPHICOBJECT.d * ((double)POINTSLIST[points[i]].x / POINTSLIST[points[i]].z)) MAXWIDTH / 2), (int)(Math.Round(GRAPHICOBJECT.d * ((double)POINTSLIST[points[i]].y / POINTSLIST[points[i]].z)) MAXHEIGHT / 2)); Poligon.POLIGONSLIST.Add(this); int y = (int)(Math.Round((Poligon.REALPOINTSLIST[i].x Poligon.SDVIDLIST[i].x) * (-1 * Math.Cos(fi FIOBJECT) * Math.Cos(teta TETAOBJECT)) - (Poligon.REALPOINTSLIST[i].y Poligon.SDVIDLIST[i].y) * (Math.Cos(fi FIOBJECT) * Math.Sin(teta TETAOBJECT)) (Poligon.REALPOINTSLIST[i].z Poligon.SDVIDLIST[i].z) * Math.Sin(fi FIOBJECT))); int z = (int)(Math.Round((Poligon.REALPOINTSLIST[i].x Poligon.SDVIDLIST[i].x) * (-1 * Math.Sin(fi FIOBJECT) * Math.Cos(teta TETAOBJECT)) - (Poligon.REALPOINTSLIST[i].y Poligon.SDVIDLIST[i].y) * (Math.Sin(fi FIOBJECT) * Math.Sin(teta TETAOBJECT)) - (Poligon.REALPOINTSLIST[i].z Poligon.SDVIDLIST[i].z) * (Math.

План
СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ПОСТАНОВКА ЗАДАЧИ

1.1 Определение требований к программному средству и обозначение целей

1.2 Спецификация качества программного обеспечения

1.3 Функциональная спецификация

2. ПРОЕКТИРОВАНИЕ

2.1 Проектирование архитектуры приложения

2.2 Проектирование пользовательского интерфейса

3. ПРОГРАММИРОВАНИЕ

3.1 Спецификация классов

3.2 Описание алгоритма на естественном языке

4. ТЕСТИРОВАНИЕ ПРОГРАММЫ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ А ПРИЛОЖЕНИЕ Б программирование интерфейс алгоритм альфа смешение

Вывод
В рамках курсовой работы было разработано приложение для демонстрации эффекта "Альфа - смешения". В процессе проектирования использовались методологии модульного и объектно-ориентированного программирования.

Для разработки данной программы, нужно было изучить и понять методы алгоритмизации, программирования, общей и компьютерной геометрии и графики, такие, как: - Построение ортогональной и видовой проекции трехмерного объекта;

- Сортировка полигонов;

- Смешивание цветов.

Таким образом, заданная тема реализована в полном объеме.

При разработке данного программного средства применялся язык программирования С#, как один из наиболее современных и перспективных языков программирования.
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?