Фрейм вывода объединяет в себе всю функциональность вывода графических данных приложения


перейти к полному списку дипломных проектов

Ссылка на скачивания файла в формате .doc находится в конце странички

Фрейм вывода объединяет в себе всю функциональность вывода графических данных приложения

После модификации второго была получена окончательная версия системы, официально одобренная пользователем. Именно на этом этапе настройки ускоренный прототип редактора стал полностью действующей системой, которая заменила собой частичную систему, полученную в итерационном цикле прототипирования.

Использование данной модели не раз оправдало себя в течение разработки. В целом, оно позволило решить следующие проблемы:

- исходя из реакции заказчиков на демонстрации разрабатываемого продукта, разработчиком были получены сведения об аспектах необходимого поведения системы, благодаря чему количество неточностей в требованиях свелось минимуму;

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

- при разработке образовывались постоянные, видимые признаки прогресса в выполнении проекта, благодаря чему заказчики чувствовали себя уверенно;

- благодаря меньшему объему доработок были уменьшены затраты на разработку;

- благодаря тому, что проблемы, как правило, выявлялись до привлечения дополнительных ресурсов, сократились общие затраты;

- было обеспечено управление рисками;

2.2 Структурная модель приложения

Приложение состоит из двух основных сущностей:

а) очередь эмиттеров;

б) оконно-интерфейсная часть;

Сущности, в свою очередь состоят из множества функционально-логических блоков.

Очередь эмиттеров представляет собой программируемый контейнер, предназначенный для хранения параметров набора эмиттеров и их частиц, а также отображения в режиме реального времени. Очередь также определяет режимы смешивания и порядок рисования наборов частиц друг относительно друга. Это позволяет создавать различные эффекты наложения.

Отдельно взятый набор частиц представлен внутренними структурами данных эмиттера. Здесь хранятся все параметры эмиттера и каждой его частицы:

а) для эмиттера:

1) координаты в двумерной декартовой системе;

2) скорость;

3) размеры;

4) значения разброса частиц;

5) стартовая задержка и длительность генерации;

б) для частицы:

1) текстура;

2) время жизни;

3) скорость по осям;

4) гравитация по осям;

5) значения начальных и конечных растяжений;

6) значения начального и конечного цветов по каналам;

Для реализации интерфейсной части были использованы графические объекты вышеописанного межплатформенного движка wxWidgets.

Корневым элементом интерфейсной части является основной фрейм. Основной фрейм служит для расположения фрейма ввода данных, фрейма управления очередью эмиттеров, фрейма вывода. Также основному фрейму принадлежат системное меню, панели инструментов и статуса.

Фрейм ввода данных предназначен для ввода вышеозначенных параметров текущего эмиттера. В редакторе всегда имеется текущий эмиттер, если их число больше нуля. Если же оно равно нулю, инструменты фрейма ввода блокируются. При изменении текущего эмиттера происходит соответствующее обновление данных инструментов фрейма ввода.

Фрейм управления очередью эмиттеров представляет собой панель со схематическим отображением отдельных эмиттеров в виде пиктограмм. К функциям фрейма относятся добавление и удаление эмиттеров, копирование эмиттера со всеми его параметрами, изменение текущего эмиттера, а также порядка прорисовки эмиттеров. Для копирования и удаления эмиттеров при активном фрейме управления очередью можно использовать горячие клавиши (Ctrl+V, Ctrl+X, соответственно).

Фрейм вывода объединяет в себе всю функциональность вывода графических данных приложения. Для максимально быстрого вывода используется низкоуровневая работа с аппаратным обеспечением видеосистемы, осуществляемая посредством драйвера OpenGL. Доступ к платформенно-независимому конвейеру OpenGL осуществляется, в свою очередь, через интерфейс wxWidgets. Именно на уровне фрейма вывода осуществлено связывание оконной системы и функциональности рисования очереди эмиттеров, не зависящей от конкретного окна и работающая с буферами OpenGL. Средства wxWidgets используют для этого те или иные системные библиотеки, в зависимости от целевой платформы. Для Windows это WGL, для Mac OS X – AGL, а также стандартные Carbon (для С++) и Cocoa (Objective С).

Дополнительно фрейм вывода позволяет при помощи мыши перемещать эмиттеры, изменять их размеры. Также поддерживается перенос рабочей (текущей отображаемой) области рисования. Для этого необходимо, во-первых, активировать режим переноса, использовав клавишу Space. Затем, используя мышь, осуществить перенос области в нужном направлении и на необходимое расстояние.

скачать бесплатно Требования к разрабатываемому программному средству

Содержание дипломной работы

При этом, параметры не должны вступать в противоречие друг с другом (например, дублирование существенной части функциональности одного параметра – другим)
Однако при этом должна быть реализована возможность подключения и использования выходных данных редактора (созданных эффектов) к внешним графическим приложениям
Достаточно широко применяются шаблоны контейнеров из стандартной библиотеки шаблонов (STL), входящей в библиотеку C++
Далее нужно просто перетаскивать мышью необходимые графические объекты на рисунок, вставлять в них нужный текст, соединять объекты
Использование V-образной модели не имело смысла, так как она применяется при разработке программного продукта командой разработчиков, и особо ориентирована на верификацию и аттестацию продукта
Заказчик оценил первичный прототип и совместно с программистом определил проблемы, над устранением которых необходимо было работать в рамках разработки последующего прототипа системы
Фрейм вывода объединяет в себе всю функциональность вывода графических данных приложения
В свою очередь, ввод управляющих сигналов осуществляется через аналогичные инструменты панели инструментов
В противном случае происходит сильное усложнение процесса их локализации в финальной версии модуля, так как они начинают влиять друг на друга
При запросе справочной информации системы помощи или информации о разработчике осуществляется активация диалоговых окон с соответствующими запросу данными
В этом случае должна быть либо увеличена длительность перерыва для отдыха, либо произведена смена деятельности
Нормами для данных работ установлена необходимая освещенность рабочего места Ен=300лк (средняя точность работы по различению деталей размером от 1 до 10 мм)
Распределение работ в течение смены должно учитывать, что период вырабатывания у операторов ПК составляет от 10 до 40 минут (в послеобеденное время период вырабатывания сокращается)
Выбор эффективных проектов ПС связан с их экономической оценкой и расчетом экономического эффекта, который может определяться как у разработчика, так и у пользователя
4 Расчет основной заработной платы Нормативная трудоемкость служит базой для расчета основной заработной платы
10 Расчет прочих прямых затрат Расходы на конкретное ПС включают затраты на приобретение и подготовку специальной научно-технической информации и специальной литературы
15 Определение отпускной цены на ПС ВТ Отпускная цена определяется на основании цены разработчика, которая формируется на основе показателя рентабельности продукции
При сравнении базового и нового вариантов ПС в качестве экономического эффекта будет выступать общая экономия всех видов ресурсов относительно базового варианта
Для пользователя в качестве экономического эффекта выступает лишь чистая прибыль – дополнительная прибыль, остающаяся в его распоряжении (?Пч), которая определяются по формуле: , (6
Прирост прибыли за счёт экономии начислений на заработную плату, оплаты машинного времени и материалов в каждый из расчётных лет составил соответственно 2333533 руб
Возможно, будет введены параметры дисперсии гравитации, или иные параметры, задающие изменение значений гравитации
– Мн
x, appear_box_position
x) (point
begin(); bool chain_is_run = false; while(iter != all_ps
begin(), tmp_ps_ptr); tmp_ps_ptr = new ParticleSystem(); } delete tmp_ps_ptr; if(tmp_all_ps
pGreenBegin = 1
startDelay; } void ParticleSystem::setStopDelay(double time) { data
pGreenBegin = green; } void ParticleSystem::setBlueBegin(double blue) { data
pCountOnStart = sys_from->data
pBlueBegin; data
initialY; } void ParticleSystem::restart() { startInTime = data
0, boundedRectColor
0; } x -= w/2
SetAttribute(MAX_COUNT_ATTR, data
SetDoubleAttribute(SCALE_END_W_ATTR, data
pGravityX) != TIXML_SUCCESS || next_element_ptr->QueryDoubleAttribute(GRAVITY_Y_ATTR, data
0; //change DX DY currentX += data

заработать

Закачай файл и получай деньги