Автор работы: Пользователь скрыл имя, 24 Марта 2014 в 21:47, курсовая работа
В качестве одного из первых признаков классификации видов моделирования можно выбрать степень полноты модели и разделить модели в соответствии с этим признаком на полные, неполные и приближенные. В основе полного моделирования лежит полное подобие, которое проявляется как во времени, так и в пространстве. Для неполного моделирования характерно неполное подобие модели изучаемому объекту. В основе приближенного моделирования лежит приближенное подобие, при котором некоторые стороны функционирования реального объекта не моделируются совсем.
Введение 3
1. Теоретическая часть 3
1.1. Классификационные признаки 3
1.2. Математическое моделирование 5
2. Среда разработки Stratum 2000 8
3. Выполнение курсовой работы в программной среде Stratum 9
3.1. Рисование модели 9
3.2. Построение модели 9
3.2.1. Математическое построение модели 9
3.2.2. Логическое построение модели 19
3.2.3. Реализация имитационной модели 20
Заключение 20
Список литературы 21
В Stratum 2000 используется дискретный метод расчета модели. Пользователь может выполнить расчет модели в пошаговом или динамическом режиме. Среда автоматически генерирует исполняемый код, и позволяет изменять модель системы даже во время выполнения. Пользователю доступны просмотр и изменение значения любых переменных, что позволяет быстро проанализировать поведение системы в различных условиях. Графические средства дают возможность быстро и наглядно осуществить визуализацию данных. Для связи с другими программами Stratum 2000 поддерживает различные форматы файлов, базы данных. К стандартному набору функций пользователь может добавить свои библиотеки (DLL), написанные на языках программирования.
Эффективность применения среды Stratum 2000 достигается за счет:
Возможности постепенного построения приложения, не приводит к полной переработке системы, в случае существенных изменений исходных требований. Уже на ранних стадиях разработки пользователь может видеть результаты работы системы, анализировать и оценивать альтернативные решения. Применение среды Stratum 2000 особенно эффективно для моделирования технических систем, автоматизированных систем правления, систем управления натурными объектами и технологическими процессами, систем научных исследований, принятия тактических и стратегических решений и обучающих систем.
Выводы: в данном разделе было проведено краткое ознакомление со средой разработки Stratum 2000, показаны преимущества данной системы и ее эффективность.
Процесс рисования модели включает в себя создание трехмерного рисунка (рис.1) с возможностью его вращения по осям х, у, z. В ходе данного процесса в трехмерное пространство вносятся необходимые для рисования объекты, которые затем объединяются в определенные группы с целью их дальнейшего использования для функциональных возможностей системы.
Рис.1. Трехмерный рисунок планет
В ходе выполнения данного пункта были выделены следующие объекты:
Первым пунктом практического выполнения курсовой работы является математическое построение модели, что достигается путем создания и расположения имиджей. В каждом имидже задаются переменные для работы с функциональными возможностями модели. Для создания модели используются имиджи для работы с трехмерной графикой:
1. GraphicSpace - графическое пространство;
Первый устанавливаемый имидж - GraphicSpace.
Назначение:
Используется для отображения различных графических сцен, созданных непосредственно из модели или считанных из VDR файла.
Описание:
Имидж создает окно, содержащее графическое пространство, и управляет его параметрами. Графическое пространство создается одновременно с созданием окна, или, если установлена переменная FileName, считывается из заранее подготовленного VDR файла.
Необходимым параметром для создания является имя окна WindowsName. Если окно с таким именем уже существует, имидж получит его параметры и может им управлять.
Созданное окно располагается поверх остальных окон и имеет размеры, устанавливаемые по умолчанию, если не заданы переменные Width и Height. В случае случайного закрытия, окно автоматически восстанавливается.
Переменные имиджа GraphicSpace представлены в таблице 1.
Таблица 1. Переменные имиджа GraphicSpace
Название |
Тип |
Значение переменных |
Описание |
Windows Name |
string |
Main Window |
имя окна |
HSpace |
handle |
#0 |
дескриптор пространства |
FileName |
string |
planets.vdr |
имя VDR файла, считываемого в пространство окна при его открытии |
Flags |
string |
- |
флаги различных свойств окна |
х,y |
float |
(0,0) |
координаты окна на рабочем поле экрана |
xO,yO |
float |
(0,0) |
координаты графического пространства, соответствующие левой верхней точке его видимой области в окне |
Height, Width |
float |
0,0 |
высота и ширина видимой области графического пространства в окне |
Scale |
float |
0 |
масштаб графического пространства |
Exist |
float |
1 |
флаг, управляющий видимостью окна |
_enable |
float |
1 |
флаг, управляющий работой имиджа |
Переменная Flags имеет тип string. Флаги представляют из себя строку, где константы перечисляются с помощью символа',' (запятая).
2. Proection 3D - проекция трехмерного пространства;
Следующим устанавливаемым имиджем является Proection 3D.
Описание:
Трехмерное пространство может несколько иметь проекций, через которые оно наблюдается. Каждая такая проекция существует в графическом пространстве на правах других объектов. Основные параметры проекции -это координаты ее и размер.
Переменные имиджа Proection 3D представлены в таблице 2.
Название |
Тип |
Значения переменных |
Описание |
WindowName |
string |
Main Window |
имя окна |
ObjectName |
string |
planet |
имя объекта |
HSpace |
handle |
#0 |
дескриптор графического пространства |
HObject |
handle |
#0 |
дескриптор проекции 3-х мерного пространства |
Hcamera |
handle |
#0 |
дескриптор камеры |
HSpace3D |
handle |
#0 |
дескриптор 3-х мерного пространства |
х,У |
float |
(0,0) |
координаты графического объекта |
Width,Height |
float |
(400,400) |
размеры проекции |
zOrder |
float |
0 |
номер Z - порядка |
Show |
float |
1 |
флаг видимости |
_enable |
float |
1 |
флаг управляющий работой объекта |
bkColor |
colorref |
rgb(0,0,0) |
цвет (черный по умолчанию) |
Control |
float |
2 |
разрешение менять параметры проекции во время работы |
Focus |
float |
0 |
фокусное расстояние (0 -без перспективы) |
3. Rotate 3d - вращение трехмерного объекта;
Назначение:
Поворачивает 3d объект на угол Angle (абсолютный)
BaseName - базовый объект
ObjName - поворачиваемый объект
Ось поворота может задаваться либо матрицей, либо нужно установить переменные AxisX,AxisY,AxisZ и определить ось поворота, тогда матрица создастся сама.
Если на момент верности дескрипторов пространства и объектов значение этой переменной осталось равным 0, то матрица создается автоматически, используя значения переменных AxisX, AxisY, AxisZ.
Если ось поворота задается через значения этих переменных, то поворот возможен только вокруг оси, проходящей через начало координат. В противном случае значения следует задавать матрицей самостоятельно.
Имидж обеспечивает, чтобы объект всегда был повернут на этот угол.
Переменные имиджей Rotate 3d представлены в таблице 3.
Таблица 3. Переменные имиджа Rotate 3d, отвечающего за вращение планет.
Название |
Тип |
Значения переменных |
Описание | |
HSpace3d |
handle |
#0 |
дескриптор трехмерного пространства | |
hObject |
handle |
#0 |
дескриптор трехмерного объекта | |
hBase |
handle |
#0 |
дескриптор базового объекта (или#-1, для работы в мировой системе координат) | |
AxisX,AxisY,AxisZ |
float |
0Д1 |
координаты вектора, лежащего на оси поворота | |
Angle |
Float |
0 |
угол поворота | |
ObjName |
string |
Luna |
имя поворачиваемого объекта | |
BaseName |
string |
earth |
имя базового объекта | |
matrix |
float |
0 |
номер матрицы, задающей ось поворота |
4. Move3D – перемещает объект.
BaseName – базовый объект;
ObjName – оворачиваемы объект.
Таблица 4. Переменные имиджей Move3d, отвечающих за перемещение планет.
Название |
Тип |
Значения переменных |
Описание |
HSpace3d |
handle |
#0 |
дескриптор трехмерного пространства |
hObject |
handle |
#0 |
дескриптор трехмерного объекта |
hBase |
handle |
#0 |
дескриптор базового объекта (или #-1,для работы в мировой системе координат) |
AxisX,AxisY,AxisZ |
float |
0,0,1 |
координаты вектора, лежащего на оси поворота |
Angle |
Float |
0 |
угол поворота |
ObjName |
string |
Earth, all |
имя поворачиваемого объекта |
BaseName |
string |
base |
имя базового объекта |
matrix |
float |
0 |
номер матрицы, задающей ось поворота |
StratumClass_1519391f_17,
StratumClass_151f3629_17,
StratumClass_1521d5e_17;
Имиджи создаются на основе формул, позволяющих создать имитацию вращения планет.
Назначение.
Задает движение планеты по заданной формуле.
Текст имиджа StratumClass_1519391f_17:
float angel_earth,x,b
angel_earth:=angel_earth+x
b:=b+0.00000001
Текст имиджа StratumClass_151f3629_17:
float x_elips,y_elips