База отчёта 4
This commit is contained in:
BIN
Report/lab4/uml/application-ui-cycle.png
Normal file
BIN
Report/lab4/uml/application-ui-cycle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 83 KiB |
21
Report/lab4/uml/application-ui-cycle.puml
Normal file
21
Report/lab4/uml/application-ui-cycle.puml
Normal file
@@ -0,0 +1,21 @@
|
||||
@startuml
|
||||
title Рабочий цикл приложения и пользовательского интерфейса
|
||||
|
||||
start
|
||||
:Запуск приложения;
|
||||
:Создание WindowContext,\nCanvas, RenderEngine;
|
||||
|
||||
repeat
|
||||
:Обработка событий ввода\n(мышь, колесо, кнопки);
|
||||
:Обновление состояния UI\n(панели, свойства, инструменты);
|
||||
:Пересчёт видимой области\nи параметров масштаба;
|
||||
if (Требуется перерисовка?) then (да)
|
||||
:Вызов CPU-рендера документа;
|
||||
:Обновление текстуры холста;
|
||||
endif
|
||||
:Показ статистики и кадра;
|
||||
repeat while (Приложение активно?) is (да)
|
||||
|
||||
:Освобождение ресурсов;
|
||||
stop
|
||||
@enduml
|
||||
BIN
Report/lab4/uml/lr4-main-workflow.png
Normal file
BIN
Report/lab4/uml/lr4-main-workflow.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 86 KiB |
20
Report/lab4/uml/lr4-main-workflow.puml
Normal file
20
Report/lab4/uml/lr4-main-workflow.puml
Normal file
@@ -0,0 +1,20 @@
|
||||
@startuml
|
||||
title ЛР4: общий рабочий цикл построения изображения
|
||||
|
||||
start
|
||||
:Загрузка документа и параметров отображения;
|
||||
:Инициализация окна, холста и рендер-движка;
|
||||
|
||||
repeat
|
||||
:Обработка действий пользователя\n(инструменты, масштаб, свойства);
|
||||
:Формирование набора процедурных фигур;
|
||||
:Преобразование фигур в пиксельные области;
|
||||
:Композиция пиксельных областей\nс учётом порядка и прозрачности;
|
||||
:Кадрирование видимой области (viewport);
|
||||
:Растеризация и вывод в текстуру;
|
||||
:Отображение кадра на холсте;
|
||||
repeat while (Продолжать работу?) is (да)
|
||||
|
||||
:Штатное завершение приложения;
|
||||
stop
|
||||
@enduml
|
||||
BIN
Report/lab4/uml/pixel-composition-visibility.png
Normal file
BIN
Report/lab4/uml/pixel-composition-visibility.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 91 KiB |
21
Report/lab4/uml/pixel-composition-visibility.puml
Normal file
21
Report/lab4/uml/pixel-composition-visibility.puml
Normal file
@@ -0,0 +1,21 @@
|
||||
@startuml
|
||||
title Композиция пиксельных областей и решение видимости
|
||||
|
||||
start
|
||||
:Получить упорядоченный набор объектов/слоёв;
|
||||
:Создать целевой буфер кадра;
|
||||
|
||||
while (Есть следующий объект?) is (да)
|
||||
:Подготовить локальный/временный буфер объекта;
|
||||
:Нарисовать пиксельную область объекта;
|
||||
if (Пиксель прозрачен?) then (да)
|
||||
:Пропустить пиксель;
|
||||
else (нет)
|
||||
:Вычислить итоговый цвет по PMA\nsrc + (1-a)*dst;
|
||||
:Записать пиксель в целевой буфер;
|
||||
endif
|
||||
endwhile (нет)
|
||||
|
||||
:Получить результирующее изображение;
|
||||
stop
|
||||
@enduml
|
||||
BIN
Report/lab4/uml/procedural-visibility-clipping.png
Normal file
BIN
Report/lab4/uml/procedural-visibility-clipping.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 77 KiB |
23
Report/lab4/uml/procedural-visibility-clipping.puml
Normal file
23
Report/lab4/uml/procedural-visibility-clipping.puml
Normal file
@@ -0,0 +1,23 @@
|
||||
@startuml
|
||||
title Видимость процедурных фигур и кадрирование
|
||||
|
||||
start
|
||||
:Взять отрезок/контур фигуры;
|
||||
:Преобразовать координаты в систему viewport;
|
||||
|
||||
if (Полностью вне окна?) then (да)
|
||||
:Отбросить примитив;
|
||||
stop
|
||||
else (нет)
|
||||
:Выполнить отсечение Liang-Barsky;
|
||||
if (После отсечения пусто?) then (да)
|
||||
:Отбросить примитив;
|
||||
stop
|
||||
else (нет)
|
||||
:Передать видимую часть на растеризацию;
|
||||
endif
|
||||
endif
|
||||
|
||||
:Вернуть видимые сегменты в общий конвейер;
|
||||
stop
|
||||
@enduml
|
||||
BIN
Report/lab4/uml/rasterization-and-output.png
Normal file
BIN
Report/lab4/uml/rasterization-and-output.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 98 KiB |
22
Report/lab4/uml/rasterization-and-output.puml
Normal file
22
Report/lab4/uml/rasterization-and-output.puml
Normal file
@@ -0,0 +1,22 @@
|
||||
@startuml
|
||||
title Растеризация и вывод графического содержимого
|
||||
|
||||
start
|
||||
:Выбрать тип фигуры (линия/эллипс/ломаная);
|
||||
|
||||
if (Линия?) then (да)
|
||||
:Отсечение + инкрементальная\nрастеризация + толщина;
|
||||
elseif (Эллипс/дуга?) then (да)
|
||||
:Аналитическая проверка пикселей\nв ограничивающем прямоугольнике;
|
||||
else (Ломаная)
|
||||
:Растеризация сегментов;
|
||||
if (Замкнута и filled?) then (да)
|
||||
:Поиск seed-точек;\nFlood Fill (4-связность);
|
||||
endif
|
||||
endif
|
||||
|
||||
:Композиция результата в общий буфер;
|
||||
:Передача буфера в текстуру UI;
|
||||
:Отображение на холсте;
|
||||
stop
|
||||
@enduml
|
||||
Reference in New Issue
Block a user