При выборе объекта и нажатии кнопки Edit Entity (редактирование объекта) отображается панель операций с объектом и окно редактирования. В панели можно задавать положение выбранного объекта, изменяя координаты x, y, z; а также вращать объект. В окне редактирования можно задать до 39 различных свойств объекта, таких как: положение, размер, цвет частей и др. Предоставлена возможность сортировки этих свойств как по категориям, так и в алфавитном порядке.
Рис. 11. Панель операций с объектом.
Рис. 12. Окно редактирование объекта.
Help – помощь.
Help Contents – вызывает стандартную электронную инструкцию.
About Visual Simulation Environment 2008 – вызывает окно, в котором содержится информация о программе (серийный номер, фирма-производитель и т.д.)
В среде Apartment Environment стандартно находится 31 объект. Опишем первые 10 объектов:
объект 19 – кровать в спальне. Она состоит из двух примитивов: параллелепипед коричневого цвета с текстурой типа «шерсть», который обозначает саму кровать, и параллелепипеда серого цвета, которая характеризует одеяло. Причем второй примитив можно также рассматривать как плоскость, которая непосредственно прилегает к коричневому параллелепипеду.
объект 20 – шестиугольный стол на 4-х ножках в гостиной. Он представлен одним примитивом – правильной 6-угольной призмой. Текстура – темное полированное дерево.
объекты 21-24 – стулья вокруг объекта 20. Представлены тремя твердотельными плоскостями, две их которых параллельны друг другу, и одно перпендикулярна (она обозначает сиденье, которое имеет белый цвет).
объект 25 – цветочный горшок в гостиной. Представлен одним твердотельным цилиндром.
объект 26 – стул в спальне. Представлен аналогично объектам 21-24.
объект 27 – кружка с картиной в виде глобуса. В каркасе представляет собой твердотельный цилиндр. На цилиндре имеется текстура в виде рисунка.
объект 28 – банка пепси-колы. Представлена аналогично объектам 27 и 25. Только размеры этого объекта значительно меньше.
объект 29 – тумбочка для телевизора. Представляет собой параллелепипед темного цвета.
объект 30 – телевизор. Представлен также в виде темного параллелепипеда и подставки, которая представлена в виде цилиндра.
объект 31 – газета. Представляет собой плоскость белого цвета, которая плотно прилегает к объекту 20 с текстурой в виде текста.
Заметим, что все обеты в среде Apartment Environment имеют размеры моделей в масштабе, отвечающем масштабу в реальном мире (т.е. кровать больше стула, банка пепси-колы меньше телевизора, и т.д.)
Описание системы координат в среде Apartment Environment
Свяжем систему координат с объектом 20. Это шестиугольный стол, который представлен в виде шестиугольной призмы.
Рассмотрим основание этой призмы. Оно представляет собой плоскость, которая имеет форму правильного шестиугольника. За начало координат примем геометрический центр шестиугольника.
Ось Х проведем таким образом, чтобы она принадлежала плоскости основания, проходила через начало координат и была перпендикулярна любым двум ребрам (сторонам) шестиугольника.
Другую ось (ось У) выбираем так, чтобы она лежала в плоскости основания, проходила через начало координат и была перпендикулярна оси Х. При таком выборе ось У проходит через начало координат и 2 угла шестиугольника.
Третью ось (Z) проводим таким образом, чтобы она проходила через начало координат и была перпендикулярна плоскости основания призмы.
Описание алгоритма перемещения объектов
Предположим, нам необходимо переместить объект в заданную точку. В программе Microsoft Robotics Developer Studio это возможно сделать как минимум двумя способами:
Навести курсор на выбранный объект, нажать Ctrl+Кнопка мыши и курсором переместить в необходимое место.
Выбрать имя объекта в Панели операций с объектом и задать положение геометрического центра примитива, представляющего данный объект.
Оба этих способа просты по своей сути, но первый способ не дает высокую точность, если она требуется. Точность ограничивается чувствительностью мыши и физиологическими качествами человека-оператора.
Второй способ дает необходимую точность. Рассмотрим его подробнее на примере перемещения моделей объектов в заданную точку.
Пусть нам необходимо переместить объект 19 (кровать в спальне) точно в угол. Нам известны координаты геометрического центра примитива, с помощью которого задан объект, и координаты точки, куда должен переместиться геометрический центр примитива. Для перемещения нам необходимо изменить только 2 координаты – X и Y, т.к. координата Z (т.е. высота) в данном случае не должна меняться по понятным причинам (модель кровати не должны «провалиться в пол», или «зависнуть в воздухе»). Далее в Панели управления объектом выбираем имя модели и изменяем координаты. Модель объекта автоматически переместиться в заданное место в сцене.
Рассмотрим другой пример. Пусть нам необходимо переместить объект 25 (цветочный горшок в гостиной) на поверхность объекта 20 (на крышку шестиугольного стола). Для этого нам необходимо знать координаты геометрического центра примитива модели горшка (назовем их X1, Y1, Z1) и координаты геометрического центра поверхности стола. Также необходимо уточнить, какую координату имеет центр поверхности стола по оси Z. Назовем координаты геометрического центра поверхности стола (X2, Y2, Z2). Тогда мы можем вычислить новые координаты, которыми должны обладать модель цветочного горшка, чтобы точно переместиться на середину поверхности модели шестиугольного стола. Они будут равны:
X=X2
Y=Y2
Z=Z1+Z2.
Как видим из приведенного примера, данный способ перемещения имеет точный алгоритм и может быть однозначно описан математически. Следовательно, техника перемещения объектов в среде Apartment Environment может быть автоматизирована.
Заключение
В данной курсовой работе была рассмотрена среда моделирования Microsoft Robotics Developer Studio. Были указаны основные сцены моделирования, содержащиеся в этой среде. Также были рассмотрены основные достоинства и недостатки моделирования. Приведено описание панели меню и всех вкладок и окон, которые содержатся в этой панели.
Подробно описана сцена моделирования Apartment Environment. Описаны некоторые стандартные модели объектов, которые присутствуют в сцене и примитивы, с помощью которых они задаются.
Кроме этого, рассмотрены способы перемещения моделей объектов в заданное место, их достоинства и недостатки. Также предложен алгоритм перемещения моделей наиболее подходящим способом. Он просто как для понимания, так и может быть автоматизирован.