Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77 icon

Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77



НазваниеИсследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77
страница5/8
Дата конвертации21.11.2012
Размер0.69 Mb.
ТипИсследование
скачать >>>
1   2   3   4   5   6   7   8
^

2.4. Базовые основы визуального программирования в Quest3D


Quest3D как бы добавляет новое измерение при создании приложений, давая возможность изображать эти объекты на экране монитора до выполнения самой программы. Без этой возможности процесс отображения требует написания фрагмента кода, создающего и настраивающего объект «по месту». Увидеть закодированные объекты было возможно только в ходе исполнения программы. При таком подходе достижение того, чтобы объекты выглядели и вели себя заданным образом, становится утомительным процессом, который требует неоднократных исправлений программного кода с последующей прогонкой программы и наблюдения за тем, что в итоге получилось.

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

Это достигается за счет разбиения рабочего пространства Quest3D на область для рабочего кода - Channel Graph и просмотра результата работы создаваемого приложения-Preview.
^

2.4.1. Ключевые моменты при работе в Quest3D


Channel Graph - это окно, в котором выполняется строительство всех структур каналов. Программы Quest3D создаются с помощью строительных блоков. Эти строительные блоки называются ‘channels’ (’каналами’). Ниже приводится изображение каналов в Quest3D.



Рис.12. Информация или функция строительных блоков Quest3D, ‘каналов’. Соответственно, имеет имя «channel»
^

2.4.1.1. Группа Каналов (Channel Group)


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

Изображение ниже показывает пример маленькой группы каналов. Структура каналов называется Channel Group.



Рис.13. Channel Group

Изображение выше также отображает пример пользовательских комментариев (текст ‘Hello world example’). Также мы можем видеть, что некоторые строительные блоки были спрятаны внутри папок.
^

2.4.1.2. Список Шаблонов (Templates List).


Добавляет каналы в программу. В левой части экрана содержит все доступные в Quest3D строительные блоки.



Рис.14. Список Шаблонов

Новые каналы могут быть добавлены в программу с помощью перетягивания названия из Списка Шаблонов (Templates List) в Граф Каналов (Channel Graph). ‘Перетягивание’ означает нажать и удержать левую клавишу мыши, переместить курсор мыши на новую позицию и отпустить левую клавишу мыши.



^ Рис.15. Перетягивание шаблона


Шаблон (Template) - встроенный канал или группа каналов. С помощью шаблонов намного ускоряется процесс создания. Шаблоны могут быть добавлены также, как и одиночные каналы.

В примере ниже, шаблон Vector добавлен в Граф Каналов (Channel Graph). Шаблон Vector состоит из четырех каналов.



Рис.16. Граф Каналов

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

2.4.1.3. Взаимодействие между строительными блоками


Для начала создания программы необходим стартовый блок, чтобы конструктору было понятно, где точка входа в нее (начало программы).



^ Рис.17. Стартовый блок

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

Маленькие черные квадраты выше и ниже канала называются квадратами связи (link squares). Каналы могут быть соединены друг с другом, между верхними и нижними квадратами связи.



^ Рис.18. Соединение объектов

На изображении выше, верхний канал называется Родительским (Parent). Нижний канал называется Потомком (Child). Потомки обычно используются, как входящие или выходящие данные для Родителей.

Входящий квадрат связи, без присоединенного к нему Потомка данных не получает. Обычно, пустые квадраты связи устанавливаются на 0.
^

2.4.1.4. Группы Каналов (Channel Groups)


Структура соединенных каналов называется Группой Каналов (Channel Group). Проект Quest3D состоит из одной или более Групп Каналов. Например, одна группа может отображать на экране комнату, в то время, как другая может отображать персонаж. Две Группы Каналов могут быть совмещены для отображения персонажа в комнате.

Пользовательский ввод (User input)

Этот канал также имеет Базовый Тип Value. Тем не менее, его Тип User Input. Канал User Input может конвертировать множество различных типов активности пользователя, таких, как клавиатурный, с помощью мыши или джойстика в значение.
^

2.4.1.5. Окно Настроек Канала (Channel Properties window).


Двойное нажатие на канал откроет окно Channel Properties, специфическое для этого канала. Изображение ниже показывает настройки или окно диалога, принадлежащее каналу Value.



^ Рис.19. Channel Properties

В этом окне настроек можно ввести новое значение. Программа Quest3D не делает паузы на открытие диалога. Можно изменять значения во время запуска вашей программы и сразу же наблюдать за результатом.
^

2.4.1.6. Ярлыки (Shortcuts).


Ярлыки каналов работают так же, как и ярлыки к программам или папкам в Windows. В Quest3D могут быть созданы только ярлыки к каналам, не к папкам.



Рис.20. Ярлыки

Часто ярлыки используются для задания значения переменной и его чтение.
^

2.4.1.7. Кадры (Frames).


Quest3D работает в реальном времени. Это значит, что он постоянно запускает проект полностью и обновляет обзорный вид. Один полный цикл структуры каналов называется кадром (frame). Обработка всех конечных результатов называется визуализацией (rendering).

Частота кадров (framerate) определяет, сколько раз в секунду запускается программа. Частота кадров зависит от сложности проекта и аппаратных средств компьютера, используемых для визуализации сцены.

Программный поток (Program flow). Вызов канала в Quest3D означает одинарный вызов всей функциональности канала, опирающийся на любой ввод, полученный от его потомков. Точные результаты вызова канала зависят от его Типа (Type).

Канал Channel Caller вызывает своих потомков в порядке слева направо. На изображении ниже, сначала вызывается канал ‘Caller 1’, отображая кубический объект (box) на экране. Далее вызывается канал ‘Caller 2’, визуализируя объект огня.



Рис.21. Кадры

На изображении ниже мы видим поток Группы Каналов (Channel Group).



Рис.22. Channel Group

1. Начало каждого кадра.

2. Каналы Channel Caller работают слева направо, поэтому Стартовый Канал сначала вызывает первым канал, названный ‘Caller 1’.

3. Канал ‘Caller 1’ вызывает иерархию под ней. Эта иерархия запускается с канала типа ‘3D Object’, названного ‘Box Object’. Этот канал отображает на экране куб, видимый на изображении выше, с правой стороны.

4. После запуска иерархии в левой части, Стартовый Канал продолжает работу со вторым потомком, ‘Caller 2’.

5. Канал ‘Caller 2’ вызывает своего потомка ‘Fire Object’. Этот канал и его потомок создают объект огня, видимый на изображении выше.

Когда структура полностью запущена, программа начинается сначала со Стартового Канала.

Сцены Quest3D. В интерактивном тренажере «Видеостудия» используются трехмерный модели осветительной аппаратуры и объекты сцен. Поэтому необходимо затронуть эту главу.

3D объекты могут быть импортированы из любого пакета 3D моделирования. Также существует возможность использовать один из 3D объектов, сопровождающих Quest3D.

Сцена Quest3D нуждается в камере и одном или большем количестве источников освещения.
^

2.4.1.8. Канал Render


Используется для отображения 3D объектов на экране.

Канал Start 3D Scene используется для инициализации 3D окружения. Помимо всего прочего, он контролирует разрешение экрана и цвет фона.

Каналы Start 3D Scene, Render, Camera, 3D Object и Light комбинированы в следующую структуру каналов.



Рис.23. Render

2.4.1.9. Публикация


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

В Quest3Dдоступен ряд публикационных опций:

  • .q3d файл проигрывателя

  • Web приложение

  • Скринсейвер

  • Самостоятельный запускной . exe

Проекты Quest3D могут быть опубликованы в файлы Просмотрщика (Viewer) с расширением ‘.q3d’. Программы Quest3D, опубликованные таким образом могут быть запущены с помощью просмотрщика Quest3D Viewer простым запуском файла ‘.q3d’.

Файлы типа ‘.q3d’ также могут быть просмотрены в интернет браузере, поддерживающем ActiveX. Файл ‘.q3d’ должен быть привязан к обычной веб-странице для возможности обзора. Веб-страница, содержащая элементы медиа Quest3D автоматически попытается скачать и установить пакет Quest3D Viewer Package с вебсайта Quest3D.com. Пользователь может отменить эту операцию.

Проект Quest3D также может быть опубликован в самостоятельный самозапускающийся файл ‘.exe’. Кроме DirectX этот тип публикации не требует более никаких других дополнительных компонентов.

^

2.4.2. Основные элементы программирования в Quest3D

2.4.2.1. ЛОГИКА


Логика- это основа программы. Логика описывает, что и когда происходит.

Ряд каналов Quest3D специально разработан для внесения логики в программу.

Оператор Каналов (Channel Caller).Как гласит название, Channel Caller просто вызывает каналы, связанные с ним. Он используется для добавления структуры в проект. Channel Caller могут быть видны, как разделители, или даже ‘главы’ в программе Quest3D.

Изображение ниже показывает пример структуры программы, разделенной Channel Caller.



^ Рис.24. Logic

Как и Channel Caller, канал If вызывает своих потомков. Тем не менее, канал If вызывает потомков лишь в случае выполнения определенного условия. Это условие может быть привязано к первому потомственному входу канала If, и должно быть значением (value). Только если значение НЕ ‘0’ (условие истинно, ‘true’), канал, подключенный к If вызывается.



Рис.25. Канал if

Если/Иначе (If Else).Канал IfElse подобен каналу If. Если подключенное условие не соблюдается (т.е. значение равно ‘0’), вызывается третий потомственный вход. Если условие соблюдается, вызывается канал, подключенный ко второму потомственному входу.



Рис.26. Канал if else

Каналы Trigger работают подобно каналам If. Trigger также вызывает своих потомков в зависимости от условия.



Рис.27. Канал trigger

Существует большая разница между каналами If и Trigger.

Первая, когда условие соблюдено, Trigger запускает своего потомка лишь единожды. Для повторной активации Trigger условие сначала должно стать ложным (false), затем снова истинным (true). Пример: триггер сработал при нажатии пробела. Для его повторного срабатывания, пробел должен быть отпущен и нажат снова.

Вторая разница состоит во вводе для условия. Помимо формы от ‘0’ до ‘1’, также может быть выбрана одна из опций в окне настроек:



^ Рис.28. Настройка канала trigger

Пользовательский Ввод (User Input).Канал User Input может регистрировать активность со стороны ряда источников, таких, как клавиатура и мышь. В Quest3D, пользовательский ввод выражается одним из трех типов:

  • Двоичное (бинарное) значение ‘0’ или ‘1.0’(пример, нажатие клавиши или кнопки мыши)

  • Аналоговое значения от ‘0’ до ‘1.0’(пример, движение джойстика).

  • Значение экранных координат.

Переключатель Каналов (Channel Switches). Channel Switches позволяет выбирать между различными каналами почти любого типа. Channel Switch сначала должен быть выставлен на тот же базовый тип (base type), что и его потомок.



^ Рис.29. Канал Channel Switch

Далее, его первый потомок определяет, какая из подключенных версий используется: значение ‘0’ приводит к тому, что будет использоваться первый вариант, ‘1’ - второй, и т.д.

Рис.30. Работа канал Channel Switch

2.4.2.2 МАТЕМАТИКА


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

Значения в проекте Quest3D часто меняются. Рядовая математика может быть использована для высчитывания новых значений.

Математические выражения могут быть описаны в Quest3D с помощью канала Expression Value. Он служит в качестве продвинутого калькулятора. Окно его настроек содержит бокс для фактической формулы и вспомогательный текст, описывающий возможные переменные и операторы. Справочный Материал описывает каждый из этих элементов в более подробных деталях.



^ Рис.31. Канал Expression Value

Скобки ( ) могут быть использованы для задания приоритета одной части выражения над другой

Значения, подключенные к потомственным входам Expression Value могут быть использованы, как часть выражения в канале. Первый потомок представлен буквой ‘A’, второй - буквой ‘B’ и т.д.



Рис.32. Работа канала Expression Value

При помощи Expression Value можно реализовать логические выражения, так как : |,&.>>,<<,<=,>=,<,>,==,!=

Результатом такого выражения будет либо 0, либо 1.

2.4.2.3. ЦИКЛ


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

Многие объекты сцены используют те же атрибуты, что и другие объекты. На стадии дизайна проекта рекомендуется определиться, какие объекты могут быть объединены в группы.

Цикл For Loop.Как и многие другие языки программирования, Quest3D использует так называемую функцию ‘For Loop’. Цикл For Loop запускает определенную часть программы необходимое количество раз в каждом кадре. Только когда все ‘повторения’ цикла For Loop будут запущены, программа перейдет к следующей части.



Рис.33. Цикл For Loop

На изображении выше, сначала обрабатывается ‘Part 1’. Далее, 10 раз запускается ‘Part 2’ с помощью функции For Loop. Наконец, программа переходит к ‘Part 3’.

Имитация вождения может потребовать пятьдесят автомобилей в сцене. Вместо того, чтобы иметь пятьдесят отдельных объектов авто, использование For Loop позволяет вам создать единичный объект машины и визуализировать его пятьдесят раз, с отличиями в позиции, форме, цвете и даже управлении.

2.4.2.4 МАССИВЫ


Переменные (Variables) могут хранить определенные типы информации. Наиболее часто используемыми типами переменных в Quest3D являются value (значение), vector (вектор), matrix (матрица) и text (текст). Все они могут хранить один экземпляр своего типа. Канал Value, например, может хранить строго одно значение.

Массивы (Arrays) могут хранить множество экземпляров информации определенного типа. Каждый из этих экземпляров или записей (records) имеет фиксированное место в массиве и может быть доступен с помощью значения индекса (index value).



Рис.34. Канал Array

Менеджер Массивов (Array Manager).Array Manager в Quest3D управляет и отображает содержимое всех массивов проекта, таблично.



Рис.35. Настройка канала Array

2.4.2.5. Lua-script


Каналы Quest3D - это строительные блоки, содержащие предварительно скомпилированный код C++ и DirectX. Весь набор каналов предоставляет функциональность для многих аспектов разработки 3D реального времени.

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

Lua в Quest3D особенно применяем в таких случаях, как загрузка и выгрузка групп каналов, сложных просчетов и повторяющихся структур (циклов ‘for loop’).

Скрипт канала Lua отображается в окне настроек:



Рис.36. Скрипт канала Lua

Функции Lua (Lua functions). Каналы Lua могут иметь одну из двух функций, или обе:

  1. ‘CallChannel’ запускается, когда вызывается канал.

  2. ‘GetValue’ запускается, когда канал Lua используется, как значение (value). Фактическое значение канала Lua равно значению, которое ‘возвращает’ скрипт в конце функции.
1   2   3   4   5   6   7   8




Нажми чтобы узнать.

Похожие:

Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77 iconОхрана труда 1 Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей
Любой производственный процесс, в том числе работа с эвм, сопряжен с появлением опасных и вредных факторов
Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77 iconПояснительная записка к дипломной работе На тему: «Разработка технического проекта учебно-производственной лаборатории»
Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей 65
Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77 iconПояснительная записка к дипломной работе На тему: Разработка системы информационного поиска в базе знаний
Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей
Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77 iconМетодические рекомендации по развертыванию портативной телестудии 54
Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей 65
Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77 iconПояснительная записка к дипломному проекту
Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияние на пользователей 107
Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77 iconПояснительная записка к дипломному проекту
Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияние на пользователей 107
Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77 iconРазработка системы информационного поиска в базе знаний
Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей
Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77 iconРешение от компании Cisco для защиты от ddoS-атак 19
Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияние на пользователей 48
Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77 iconКоролев Денис Александрович Допущен к защите 2010 г. Консультанты проекта: Специальная часть Ю. В. Куприянов Охрана труда А. Ф. Завальнюк Зав кафедрой проф д. т н. В. Н. Азаров пояснительная записка
Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей 53
Исследование возможных опасных и вредных факторов, возникающих при работе с эвм, и их воздействие на пользователей. 77 iconКоролев Денис Александрович Допущен к защите 2010 г. Консультанты проекта: Специальная часть Ю. В. Куприянов Охрана труда А. Ф. Завальнюк Зав кафедрой проф д. т н. В. Н. Азаров пояснительная записка
Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияния на пользователей 53
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©rushkolnik.ru 2000-2015
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы