- •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
closeInfoButton.addEventListener(MouseEvent.CLICK, closeAudInfo);
//videoPlane.visible = false;
}
private function showAudInfo(e:MouseEvent):void{
audInfo.visible = true;
audInfoBack.visible = true;
closeInfoButton.visible = true;
scrollBar.visible = true;
if(aud802loaded){
AudInfoFromFile("802");
}
}
private function closeAudInfo(e:MouseEvent):void{
audInfo.visible = false;
audInfoBack.visible = false;
closeInfoButton.visible = false;
logoVisible = false;
scrollBar.visible = false;
}
private function AudInfoFromFile(url:String):void{
var request:URLRequest = new URLRequest(url + ".txt");
loader = new URLLoader();
try {
loader.load(request);
Продолжение приложение а Продолжение листинга а.1
}
catch (error:SecurityError)
{
audInfo.text = "A SecurityError has occurred.";
}
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
}
function errorHandler(e:IOErrorEvent):void {
audInfo.text = "Had problem loading File.";
}
function loaderCompleteHandler(event:Event):void {
audInfo.htmlText = loader.data;
logoVisible = true;
scrollBar.scrollTarget = audInfo;
}
private function createImgButton(e:MouseEvent):void{
videoPlane.visible = true;
videoPlane.setMaterialToAllFaces (videoTexture);
videoTexture.playVideo();
}
private function createImg(e:MouseEvent3D):void{
Продолжение приложение а Продолжение листинга а.1
videoPlane.setMaterialToAllFaces (videoTexture);
videoTexture.playVideo();
}
private function initCamera():void{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
// Создание камеры и вьюпорта
camera = new Camera3D();
camera.view = new View(stage.stageWidth, stage.stageHeight);
camera.view.hideLogo();
addChild(camera.view);
addChild(camera.diagram);
// Установка начального положения камеры
camera.rotationX = 270*Math.PI/180;
camera.rotationZ = 90*Math.PI/180;
camera.y = -700;
camera.z = 160;
camera.x = -900;
controller = new SimpleObjectController(stage, camera, 200);
//controller.unbindAll();
controller.accelerate(true);
rootContainer.addChild(camera);
collider = new EllipsoidCollider(5, 5, 5);
//addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
Продолжение приложение а Продолжение листинга а.1
private function on3dsLoad(e:Event):void {
// Парсинг модели
var parser:Parser3DS = new Parser3DS();
var mesh:Mesh;
var bsp:BSP = new BSP();
var occluder:Occluder = new Occluder();
var sourceGeometry:Vector.<Mesh> = new Vector.<Mesh>();
var sourceSplitters:Vector.<Mesh> = new Vector.<Mesh>();
var staticObjects:Vector.<Object3D> = new Vector.<Object3D>();
var staticOccluders:Vector.<Occluder> = new Vector.<Occluder>();
parser.parse((e.target as URLLoader).data, "textures/");
for each (var object:Object3D in parser.objects) {
mesh = object as Mesh;
if(mesh){
mesh.addEventListener(MouseEvent3D.MOUSE_DOWN, drawSpot);
if(object.name.indexOf("st_") >= 0){
mesh.clipping = Clipping.BOUND_CULLING;
sourceGeometry[sourceGeometry.length] = mesh;
staticObjects[staticObjects.length] = object;
//sourceSplitters[sourceSplitters.length] = mesh;
} else if(object.name.indexOf("w_") < 0) {
mesh.clipping = Clipping.FACE_CLIPPING;