- •1 Постановка задачи и определение требований
- •Выводы по разделу один
- •2 Обзор существующих реализаций и описание основных преимуществ выбранной реализации перед аналогами
- •1.2.1 Обзор существующих реализаций
- •Выводы по разделу два Таким образом, наилучшем выбором платформы для разработки является Flash.
- •3 Выбор инструментальных средств разработки
- •4.1 Исследование технологий 3d-рендеринга на платформе Adobe Flash
- •5 Архитектура программного комплекса
- •5.1 Алгоритмические особенности программного комплекса
- •5.1.1 Анализ поставленной задачи
- •5.2 Алгоритм функционирования программного комплекса
- •5.2.1 Обобщенный алгоритм работы комплекса
- •5.2.2 Загрузка объектов в 3d-среду
- •5.2.3 Отрисовка 3d-мира
- •5.2.4 Обработка команд пользователя
- •5.2.5 Описание технологий. Binary Space Partitioning (bsp) дерево
- •5.2.6 Отсечение (клиппинг)
- •5.3 Варианты дальнейшего развития программного комплекса
- •5.4. Функциональные особенности программного комплекса
- •5.4.1 Концепция функционирования программного комплекса
- •6.2 Требования к содержимому тестов
- •6.3 Пример работы программного комплекса
- •7 ТехнологическАя часть
- •Программный комплекс соответствует технологическим нормам.
- •8 Организационно-экономический раздел
- •8.1 Смета затрат на проведение работ
- •8.2 Командировочные расходы
- •8.3 Заработная плата
- •Продолжение таблицы 8.9
- •8.4 Покупные изделия
- •8.5 Накладные расходы
- •8.6 Смета затрат
- •9 Раздел безопасности жизнедеятельности
- •9.1 Анализ достоинств интерфейса пользователя разработанной программы
- •9.2 Рекомендации по организации рабочего места пользователя
- •9.2.1 Рекомендации по выбору помещения для размещения рабочего места
- •9.2.2 Требования к микроклимату, содержанию аэроионов и вредных химических веществ в воздухе на рабочих местах, оборудованных пэвм
- •9.2.3 Требования к уровням шума и вибрации на рабочих местах, оборудованных пэвм
- •9.2.4 Требования к освещению на рабочих местах, оборудованных пэвм
- •9.2.5 Требования к уровням электромагнитных полей на рабочих местах, оборудованных пэвм
- •9.2.6 Общие требования к организации рабочих мест пользователей пэвм
- •9.2.7 Требования к организации и оборудованию рабочих мест с пэвм для обучающихся в общеобразовательных учреждениях и учреждениях начального и высшего профессионального образования
- •9.3 Электробезопасность
- •9.4 Пожарная безопасность
- •Библиографический список
- •Приложение а
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
- •Продолжение приложение а Продолжение листинга а.1
Приложение а
Листинг исходного текста программы
Листинг А.1 – Исходный код файла «dept.as»
package {
import alternativa.engine3d.containers.DistanceSortContainer;
import alternativa.engine3d.containers.ConflictContainer;
import alternativa.engine3d.containers.BSPContainer;
import alternativa.engine3d.containers.KDContainer;
import alternativa.engine3d.controllers.SimpleObjectController;
import alternativa.engine3d.core.Camera3D;
import alternativa.engine3d.core.Debug;
import alternativa.engine3d.core.EllipsoidCollider;
import alternativa.engine3d.core.MouseEvent3D;
import alternativa.engine3d.core.Object3D;
import alternativa.engine3d.core.Object3DContainer;
import alternativa.engine3d.core.RayIntersectionData;
import alternativa.engine3d.core.Sorting;
import alternativa.engine3d.core.Clipping;
import alternativa.engine3d.core.View;
import alternativa.engine3d.core.Vertex
import alternativa.engine3d.core.Face
//import alternativa.engine3d.core.BSP;
import alternativa.engine3d.loaders.MaterialLoader;
import alternativa.engine3d.loaders.Parser3DS;
import alternativa.engine3d.loaders.ParserCollada;
import alternativa.engine3d.objects.Mesh;
import alternativa.engine3d.objects.BSP;
import alternativa.engine3d.objects.Occluder;
import alternativa.engine3d.materials.FillMaterial;
import alternativa.engine3d.materials.TextureMaterial;
import alternativa.engine3d.primitives.Box;
import alternativa.engine3d.primitives.Sphere;
import alternativa.engine3d.primitives.Plane;
Продолжение приложение а Продолжение листинга а.1
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Shape;
import flash.events.*;
import flash.net.*;
import flash.ui.*;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.geom.Point;
import flash.geom.Vector3D;
import flash.utils.Timer;
import flash.events.TimerEvent;
import fl.controls.Button;
import fl.controls.Slider;
import fl.controls.UIScrollBar;
import fl.events.SliderEvent;
[SWF(backgroundColor="#000000", frameRate="100", width="800", height="600")]
public class dept extends Sprite {
private var rootContainer:BSPContainer = new BSPContainer();
/////////////////////////////////////////////////
// Переменные для хранения объектов в аудиториях
Продолжение приложение а Продолжение листинга а.1
/////////////////////////////////////////////////
private var aud801:Vector.<Mesh> = new Vector.<Mesh>();
private var aud801loaded:Boolean = false;
private var aud802:Vector.<Mesh> = new Vector.<Mesh>();
private var aud802loaded:Boolean = false;
private var aud804:Vector.<Mesh> = new Vector.<Mesh>();
private var aud804loaded:Boolean = false;
private var aud804a:Vector.<Mesh> = new Vector.<Mesh>();
private var aud804aloaded:Boolean = false;
/////////////////////////////////////////////////
//private var rootContainer:KDContainer = new KDContainer();
private var camera:Camera3D;
private var controller:SimpleObjectController;
private var myTextField:TextField = createCustomTextField(20, 20, 200, 300);
private var audInfo:TextField = createCustomTextField(100, 100, 600, 400);
private var audInfoBack:TextField = createCustomTextField(90, 90, 640, 445);
private var textInfoField:TextField = createCustomTextField(560, 20, 220, 0)
private var message:String = "";
private var cameraPositionString:String = "";
private var prevX:int;