Post on 31-Dec-2015
description
TWMTWM1
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
• Гурьев Василий Александрович (9-1)• Назаров Никита Александрович (9-1)• Иогансон Иван Дмитриевич (9-2)• Кузнецов Роман Евгеньевич (9-2) • Федер Евгений Александрович (9-2)• Макарихин Павел Андреевич (9-5)• Правилов Михаил Егорович (9-5)• Корнеев Олег Владимирович (10-2)
Научный руководитель: Галинский В.А.,преподаватель информатики и программирования физико-математического лицея № 30,
руководитель группы компьютерной графики, зам. директора по ИТ
Использование билинейных преобразований в реализации
алгоритмов «warping» и «morphing» в реальном времени
TWMTWM2
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Структура проекта
TWM project
Анимация Пользовательскийинтерфейс
Математическаячасть
Видеоплеер
Захват
Создание анимации
Главное окно
Рабочие области
Варпинг
МорфингСклеиваниеанимаций
TWMTWM3
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Capture
Load from file
Load from file
ФорматtwmPIC
1) Размеры картинки(высота и ширина)
Структура изображения в программе
Система индексации
2) Указатель на начало изображения
3) Указатель на начало каждой строки
4) Покомпонентный указатель на начало
каждой строки
Прозрачность
Синий
Зеленый
Красный
Цветовая система -
RGBA
Форматы:•BMP,•JPG,•PNG,•G24,•G32,•GSM.,
Форматы:•BMP,•JPG,•PNG,•G24,•G32,•GSM.,
TWMTWM4
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
СетьХранение информации
Указатели на начало каждой строки
Указатель на начало сетки
Высота
Ширина
TWMTWM5
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Сеть Начальная сетка
Сетка 3*3
Начальная сетка
TWMTWM6
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
СетьУстановка зон соответствий
TWMTWM7
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Геометрические преобразования
Аффинные
Перспективные
Билинейные
TWMTWM8
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Билинейные трансформации
Формула линейной интерполяции:Res = A * t + B * (1 - t)
TWMTWM9
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Примеры warping
TWMTWM10
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Morphing
Morphing = Warping + линейная интерполяция
цвета
TWMTWM11
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Анимация
• Многопоточная запись изображений. Пул потоков.
Пулпотоков.Содержит очередь потоков.
«Warping»текущего
изображения Cохранение изображения
в файл
Контроль над количеством одновременных потоков
Параллельные операции
• Инициализация.
Потоки
Основные этапы создания анимации:
TWMTWM12
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Консоль ffmpegКонсоль ffmpegРазбор слов и выражений,
принятых из консоли.Обновление текущей
статистики.StdErr
Stdout
«Канал-пайп»
«Пайпы». Взаимодействие с выходным потоком ffmpeg.
• Склеивание анимации
Вывод ошибок
Стандартный вывод
Анимация
TWMTWM13
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Проигрывание и захват• DirectShow
TWMTWM14
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Пользовательский интерфейс Окружение
• Меню
• Строка статуса
• Панель инструментов
• Сетка
• Режимы
• Настройки сетки
• Две области
TWMTWM15
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Пользовательский интерфейсРедактирование
• Изменение узлов сетки• Подсвечивание ближайшего узла• Редактирование при помощи
клавиатуры• «Спрямление» линий сетки• Копирование сетки• Откат редактирования• Параметры отображения• Параметризация процесса
анимации
TWMTWM16
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Разработка системыЯзык программирования – СиСреда разработки – MS Visual StudioКоличество разработчиков – 8Количество файлов исходного кода – 30Размер исходного кода – 400 KiB (12300 строк кода)Размер проекта – 33 MiBИсполняемый модуль – 1 MiB + 25 MiB утилитыВремя разработки декабрь 2013 г. – апрель 2014 г.
TWMTWM17
Computer Graphics Support GroupComputer Graphics Support GroupСанкт-Петербургский губернаторский физико-математический лицей № 30Санкт-Петербургский губернаторский физико-математический лицей № 30
Окно проекта