Реалізація програмної частини 3D екскурсії по ОККТ ОДЕКУ з використаням Uniti Engene

Цей дипломний проект розробляю не я один.Ми розробляємо його з товаришем. Він займається графічною частиною проекту. Розробити та реалізувати код програми для графічного проекту не дуже складно, але це потребує від мене вивчення того, що таке сценірії і вивчити написання скриптів на незнайомих мені мовах С# і JavaScript.

2014-08-04

810.54 KB

2 чел.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


ВСТУП

У своєму дипломному проекті я мушу зробити та реалізувати програмну частину 3D екскурсії  по ОККТ ОДЕКУ з використаням Uniti Engene

Тож почнемо з початку:

    Цей дипломний проект розробляю не я один.Ми розробляємо його з товаришем. Він займається графічною частиною проекту. Розробити та реалізувати код програми для графічного проекту не дуже складно, але це потребує від мене вивчення того, що таке сценірії і вивчити написання скриптів на незнайомих мені мовах С# і JavaScript.

Розробка проекту ведеться за допомогою графічного рушію Unity Engine.

 Я буду працювати напряму у середовищі MonoDevelop, якае вбудовано в Unity. Це дуже хороше середовище написання. Воно мені сподобалось тим, що воно підкреслює помилки та доповнює код, для мене, як для новачка у написанні скриптів, це дуже хороша функція.


1.ЗАГАЛЬНИЙ РОЗДІЛ

  1.  Графічні бібліотеки для роботи з 3D графікою

  1.  GD Graphics Library

GD Graphics Library  - програмна бібліотека, написана Томасом Баутелом (Thomas Boutell) та іншими розробниками для динамічної роботи із зображеннями. Початковий мову програмування бібліотеки - ANSI C, але розроблені інтерфейси для безлічі інших мов програмування. Бібліотека дозволяє створювати зображення в форматах GIF, JPEG, PNG і WBMP. Підтримка GIF була припинена в 1999, коли Unisys анулювала вільну ліцензію для безкоштовного і некомерційного ПО на використання працюючого в GIF методу компресії LZW. 7 липня 2004, коли термін дії патенту закінчився, підтримка GIF була відновлена.

Назва GD спочатку позначало « GIF Draw ». Однак, після анулювання ліцензії Unisys, абревіатура розшифровується, як « Graphics Draw ».

GD дозволяє створювати зображення, що складаються з ліній, дуг, тексту (включаючи програмний вибір шрифтів) та інших зображень, а також використовувати різні кольори.

У версії 2.0 додана підтримка 32 -бітових (truecolor) зображень, Альфа - каналів, дискретизація зображень (для плавної зміни розміру 32 - бітних зображень) і багато іншого.

GD підтримує безліч мов програмування, включаючи C, PHP, Perl, Python, O'Caml, Tcl, Lua, Pascal, GNU Octave, Common Lisp, Scheme і REXX. Є також інструмент, званий fly, який дозволяє отримувати доступ до GD з будь-якої мови програмування при використанні командного рядка.

  1.  OpenGL

 OpenGL (Open Graphics Library - відкрита графічна бібліотека, графічний API) - специфікація, що визначає незалежний від мови програмування платформонезавісимость програмний інтерфейс для написання додатків, що використовують двовимірну і тривимірну комп'ютерну графіку.

Включає більше 300 функцій для малювання складних тривимірних сцен з простих примітивів. Використовується при створенні комп'ютерних ігор, САПР, віртуальної реальності, візуалізації в наукових дослідженнях. На платформі Windows конкурує з Direct3D.

OpenGL орієнтується на наступні два завдання:

А) Приховати складності адаптації різних 3D - прискорювачів, надаючи розробнику єдиний API.

В) Приховати відмінності в можливостях апаратних платформ, вимагаючи реалізації відсутньої функціональності за допомогою програмної емуляції.

Основним принципом роботи OpenGL є отримання наборів векторних графічних примітивів у вигляді точок, ліній і багатокутників з наступною математичною обробкою отриманих даних і побудовою растрової картинки на екрані і / або в пам'яті.

OpenGL є низькорівневим процедурним API, що змушує програміста диктувати точну послідовність кроків, щоб побудувати результуючу растрову графіку (імперативний підхід). Це є основною відмінністю від дескрипторних підходів, коли вся сцена передається у вигляді структури даних (найчастіше дерева), яке обробляється і будується на екрані. З одного боку, імперативний підхід вимагає від програміста глибокого знання законів тривимірної графіки і математичних моделей, з іншого боку - дає свободу впровадження різних інновацій.виполняются графічним конвеєром (graphics pipeline), який по суті являє собою дискретний автомат. Абсолютна більшість команд OpenGL потрапляють в  одну з двох груп: або вони додають графічні примітиви на вхід в конвеєр, або конфігурують конвеєр на різне виконання трансформацій.

Існує ряд бібліотек, створених поверх або на додаток до OpenGL. Наприклад, бібліотека GLU, що є практично стандартним доповненням OpenGL і завжди її супроводжує, побудована поверх останньої, тобто використовує її функції для реалізації своїх можливостей. Інші бібліотеки, як, наприклад, GLUT і SDL, створені для реалізації можливостей, недоступних в OpenGL. До таких можливостей відносяться створення інтерфейсу користувача (вікна, кнопки, меню тощо), настройка контексту малювання (область малювання, использующаяся OpenGL), обробка повідомлень від пристроїв введення-виведення (клавіатура, миша та ін), а також робота з файлами. Зазвичай, кожен віконний менеджер має власну бібліотеку - розширення для реалізації вищеописаних можливостей, наприклад, WGL в Windows або GLX в X Window System, однак бібліотеки GLUT і SDL є крос- платформеними, що полегшує перенесення написаних додатків на інші платформи.

1.1.3 GTK +

GTK + (скорочення від GIMP ToolKit) – кроссплатформена бібліотека елементів інтерфейсу, має простий у використанні API, поряд з Qt є однією з двох найбільш популярних на сьогоднішній день бібліотек для X Window System.

 Спочатку була частиною графічного редактора GIMP, вона розвинулася в окремий проект і придбала помітну популярність. GTK + - вільне ПЗ, яке розповсюджується на умовах GNU LGPL, що дозволяє створювати як вільне, так і пропрієтарне програмне забезпечення з використанням бібліотеки. GTK + є офіційною бібліотекою для створення графічного інтерфейсу проекту GNU.

GTK + написана на мові Сі, але проте, є об'єктно-орієнтованою. Однією з причин для вибору Сі в якості мови було бажання легко будувати інт-

ерфейси для інших мов програмування. В результаті під GTK + можна

писати на наступних мовах програмування:

C, C++, C#, Java, JavaScript, PHP та інші.

Власне GTK + складається з двох компонентів: GTK і GDK. Перший містить набір елементів інтерфейсу користувача, або «віджетів» (таких, як кнопка, список, поле для введення тексту і т. п.) для різних завдань. GDK відповідає за виведення на екран і може використовувати для цього X Window System, Linux Framebuffer, WinAPI або функції Mac OS X. Починаючи з версії 2.8, GDK багато в чому (але не повністю) замінена на систему отрисовки векторної графіки Cairo.

Крім Cairo, GTK + залежить від трьох бібліотек - GLib, Pango і ATK, - які розробляються разом з GTK +, але можуть використовуватися і окремо.

Программи що використовують GTK +

  •  AbiWord - текстовий редактор
  •  Anjuta - офіційна інтегрована середовище розробки GNOME
  •  Chromium - веб -браузер, разрабативаеммий в основному компанією Google і використовує WebKit
  •  Ekiga - програми для VoIP і відео -конференцій
  •  Epiphany - веб -браузер середовища GNOME.
  •  Evolution - програма для управління контактами та електронною поштою
  •  Firefox - стандартний браузер більшості Gnome- редакцій дистрибутивів Linux.
  •  GIMP - растровий графічний редактор
  •  Inkscape - векторний графічний редактор
  •  Midori - легкий веб -браузер
  •  MonoDevelop - відкрита інтегрована середовище розробки
  •  Pidgin - клієнт обміну миттєвими повідомленнями
  •  Wireshark - аналізатор мережевих пакетів
  •  SciTE - багатоплатформовий текстовий редактор

1.2 Структура сценаріїв для 3D графіки

Скриптова мова (англ. scripting language) — мова програмування, розроблена для запису «сценаріїв», послідовностей операцій, які користувач може виконувати на комп'ютері. Прості скриптові мови раніше часто називали мовами пакетної обробки (batch languagesабо job control languages). Сценарії зазвичай інтерпретуються, а не компілюються.

У прикладній програмі, сценарій (скрипт) — це програма, яка автоматизує деяке завдання, яке без сценарію користувач робив би вручну, використовуючи інтерфейс програми. Мови таких скриптів спочатку орієнтувалися на використання в якості внутрішніх керуючих мов у складних системах. Багато хто з них, проте, вийшли за межі сфери свого початкового застосування і використовуються нині в зовсім інших областях. Характерними особливостями даних мов є, по-перше, їх інтерпретованість (компіляція або неможлива, або небажана), по-друге, простий синтаксис, а по-третє, легка розширюваність. Таким чином, вони ідеально підходять для використання в часто змінюваних програмах, дуже невеликих програмах або у випадках, коли для виконання операторів мови витрачається час, незрівнянний із часом їх розбору.

Для написання призначених розширень користувача можуть використовуватися як плагіни, так і скрипти. Скриптова мова використовується переважно в таких випадках:

 А) Якщо потрібно забезпечити програмовість без ризику дестабілізувати систему. Оскільки, на відміну від плагінів, скрипти інтерпретуються, а не компілюються, неправильно написаний скрипт виведе діагностичне повідомлення, а не приведе систему до краху.

В) Якщо важливий виразний код. По-перше, чим складніша система, тим більше коду доводиться писати «тому, що це потрібно». По-друге, в скриптовій мові може бути зовсім інша концепція програмування, ніж в основній програмі — наприклад, гра може бути монолітним однопотоковим

застосунком, тоді як скрипти, що керують персонажами, виконуються

паралельно. По-третє, скриптова мова має власний проблемно-орієнтований набір команд, і один рядок скрипта може робити те ж, що кілька десятків рядків на традиційній мові. Як наслідок, на скриптовій мові може писати програміст дуже низької кваліфікації — наприклад, геймдизайнер своїми руками, не покладаючись на програмістів, може коректувати правила гри.

 С) Якщо потрібна крос-платформовість. Хорошим прикладом є           JavaScript — його виконують браузери під найрізноманітнішми ОС.

Також в плані швидкодії скриптові мови можна розділити на мови динамічного розбору (sh, command.com) і передкомпільовані (Perl). Мови динамічного розбору прочитують інструкції з файлу програми мінімально потрібними блоками, і виконують ці блоки, не читаючи подальший код. Передкомпільовані мови спочатку прочитують всю програму, компілюють її всю або в машинний код, або байт-код, або в якийсь внутрішній формат, і лише потім виконують отриманий код.

1.2.1 Lua

Lua  — швидка і компактна скриптова мова програмування, розроблена підрозділом Tecgraf Католицького університету Ріо-де-Жанейро. Є вільно поширюваним, звідкритим сирцевим кодом на мові Сі.

За можливостями, ідеологією і реалізацією, мова найближча доJavaScript, проте Lua відрізняється могутнішими і набагато гнучкішими конструкціями, спроектованими з метою «не плодити суті понад необхідне». Хоча Lua не містить поняття класу і об'єктав явному вигляді, механізми

об'єктно-орієнтованого програмування з підтримкою прототипів (включаючи множинне успадкування) легко реалізуються з використаннямметатаблиць, які також дозволяють перевантаження операційтощо. Реалізована модель ООП (як і в JavaScript) — прототипна.

Lua отримала велике поширення в ролі вбудованої в інші проекти мови сценаріїв (наприклад, для визначення конфігурації або для написання розширень). Lua комбінує простий процедурний синтаксис з потужними

можливостями опису даних через використання асоціативних масивів і розширюваної семантики мови. У Lua використовується динамічна типізація, мовні конструкції перетворюються в байт-код, який виконується поверх регістровоївіртуальної машини з автоматичним збирачем сміття. Самінтерпретатор оформлений у вигляді бібліотеки, легко інтегрованої в проекти на мовах Сі та Сі++. Код інтерпретатора Lua написаний на мові Сі і розповсюджується під ліцензією MIT.

1.2.2 JavaScript

JavaScript - призначений для написання сценаріїв для активних HTML - сторінок. Мова JavaScript не має ніякого відношення до мови Java. Java розроблений фірмою SUN. JavaScript - фірмою Netscape Communication Corporation. Перша назва - LiveScript. Після завоювання мовою Java всесвітньої популярності LiveScript з комерційних міркувань перейменували в JavaScript.

JavaScript не призначений для створення автономних додатків. Програма на JavaScript вбудовується безпосередньо у вихідний текст HTML - документа й інтерпретується брaузер по мірі завантаження цього документа. За допомогою JavaScript можна динамічно змінювати текст завантажуваного HTML - документа і реагувати на події, пов'язані з діями відвідувача або змінами состоятія документа або вікна.

Важлива особливість JavaScript - об'єктна орієнтованість. Програмісту доступні численні об'єкти, такі, як документи, гіперпосилання, форми, фрейми і т.д. Об'єкти характеризуються описової інформацією (властивостями) і можливими діями (методами)

тег <script>

Сценарій JavaScript вбудовується в HTML - документ за допомогою тега <script>.

Текст сценарію оформляється як коментар, щоб не було проблем у відвідувачів, брaузер яких не розуміють JavaScript. Крім того до символів, завершальним коментар додається ще два символи "/", тому що деякі браузери розглядає рядок, що складається тільки з символів " -> ", як помилкову.

У першому прикладі для об'єкта з ім'ям document викликається метод write. Як параметр йому передається текстовий рядок " Привіт!". Рядок закривається символом "; ", яким відокремлюються один від одного всі оператори JavaScript.

Об'єкт document - це HTML - документ, завантажений у вікно брaузер. Метод write записує в тіло HTML - документа рядок " Привіт!". При цьому документ буде вигдядеть так, як ніби ця рядок знаходиться в  ньому на місці сценарію.

Майте на увазі, що JavaScript розрізняє малі та великі літери. Крім того символ дефіса в JavaScript розпізнається як мінус, тобто якщо фон об'єкта в HTML- документі задається через властивість background - color, то в JavaScript - через backgroundColor.

Змінні в JavaScript

Ім'я змінної не повинно збігатися з зарезервованими ключовими словами JavaScript.

Всі змінні в JavaScript оголошуються за допомогою ключового слова var. При оголошенні тип змінної не вказується. Цей тип присвоюється змінної тільки тоді, коли їй присвоюється яке-небудь значення.

Числа в рядки інтерпретатор JavaScript перетворює автоматично. Для перетворення рядків у числа використовують спеціальні функції parseInt і parseFloat

                           

1.3 Інструменти

1.3.1 Денвер

Денвер (від скор. Д.н.w.р або ДНВР — джентльменський набір Web-розробника) — набір дистрибутивів і програмна оболонка, призначені для створення та налагодження сайтів (веб-додатків, іншого динамічного вмісту інтернет-сторінок) на локальному ПК (без необхідності підключення до мережі Інтернет) під управлінням ОС Windows.

Відразу після установки клієнту доступний повністю працюючий веб-сервер Apache, що працює на його локальному комп'ютері, на якому може працювати необмежена кількість сайтів, що дуже ефективно для розробки та налагодження сценаріїв PHP без завантаження їх файлів на віддалений сервер. Для запуску практично всіх утиліт «Денвера» використовується додаток Run в підкаталозі / denwer (або / etc) кореневого каталога установки Денвера. При запуску створюється віртуальний диск (за замовчуванням — Z:), де зберігаються всі файли проектів.

  Третя версія підтримує роботу з флеш-накопичувача.

Особливістю, що відрізняє Denwer від інших WAMP-дистрибутивів, є автоматична правка системного файлу hosts, який є локальним аналогом DNS-сервера, що дозволяє звертатися до локальних сайтів, які працюють під управлінням Денвера, по іменах, що збігаються з іменами папок, розташованих в каталозі home Денвера.

1.3.2 Notepad++

Notepad++ — текстовий редактор, призначений для програмістів і тих, кого не влаштовує скромна функціональність Блокнота, що входить до складу Windows. Notepad++ базується на компоненті Scintilla (потужному компоненті для редагування), написаному на C++ з використанням тільки Windows API і STL, що забезпечує максимальну швидкість роботи при мінімальному розмірі програми. Інтерфейс у Notepad++ — багатомовний. Серед особливостей програми — підсвічування синтаксису, підтримка великої кількості мов (C, C++, Java, XML, HTML, PHP, Java Script, ASCII, Visual Basic/VBScript, SQL, CSS, Pascal, Perl і Python), багатомовна підтримка, робота з декількома документами.

Основні можливості Notepad++:

Підсвічування тексту і можливість згортання блоків, згідно з синтаксисом мови програмування

  •  WYSIWYG (друкуєш і отримуєш те, що бачиш на екрані)
  •  Режим підсвічування синтаксису, що налаштовується користувачем
  •  Авто-завершення слова, що набирається
  •  Одночасна робота з безліччю документів
  •  Підтримка регулярних виразів для пошуку/заміни
  •  Повна підтримка перетягування фрагментів тексту
  •  Динамічна зміна вікон перегляду
  •  Автоматичне визначення стану файлу
  •  Збільшення і зменшення

1.3.3 MonoDevelop

MonoDevelop — відкрите інтегроване середовище розробки для платформ Linux, Mac OS X та Microsoft Windows, передусім націлене на розробку програм, які використовують і Mono, і Microsoft.NET framework.

На даний момент підтримуються мови C#, Java, Boo, Visual Basic.NET, CIL, Python, Vala, C та C++. Також MonoDevelop підтримує такі технології, як Gtk#, ASP.NET MVC, Silverlight, MonoMac и MonoTouch.

MonoDevelop включає можливості подібні до NetBeans та Microsoft Visual Studio, такі як автоматичне доповнення, інтеграція контролю коду, графічний користувацький інтерфейс і веб-дизайнер. В MonoDevelop інтегрований Gtk# GUI дизайнер під назвою Stetic

MonoDevelop також може використовуватися на платформах Windows та Mac OS X. Щоправда, до версії 2.2 жодна з даних платформ не мала офіційної підтримки. Тим не менше, жодна з них не підтримується настільки добре, як Linux-версія. MonoDevelop постачається разом з інсталятором Mono для Mac OS X, але ця версія не включає у себедизайнер графічного інтерфейсу користувача Stetic GUI designer через проблеми Drag&Drop у нативній для OS X версії GTK. MonoDevelop на FreeBSD найвірогідніше підтримується лише зусиллями FreeBSD спільноти.

2  РОЗРОБКА ТЕХНІЧНОГО ТА РОБОЧОГО ПРОЕКТУ

2.1 Аналіз серидовища програмування Unity

Unity — це багатоплатформний інструмент для розробки дво- та тривімирних застосунків та ігр, який працює на операційних системах Windows і OS X. Створені за допомогою Unity застосунки працюють під системами Windows, OS X, Android, Apple iOS, Linux, а також на гральних консолях Wii, PlayStation 3 і XBox 360.

Є можливість створювати інтернет-застосунки за допомогою спеціального підключаємого модуля до браузера Unity, а також за допомогою експерементальної реалізації в межах модуля Adobe Flash Player. Застосунки, створені за допомогою Unity, підтримують DirectX та OpenGL.

Технічні характеристики:

  •  Сценарії на C#, JavaScript та Boo;
  •  Ігровий рушій повністю пов'язаний із середовищем розробки. Це дозволяє випробовувати гру прямо в редакторі;
  •  Робота з ресурсами можлива через звичайний Drag&Drop.
  •  Система успадкування об'єктів;
  •  Підтримка імпортування великої кількості форматів файлів;
  •  Вбудований генератор ландшафтів;
  •  Вбудована підтримка мережі;
  •  Існує рішення для спільної розробки — Asset Server. Також можна використовувати зручний для користувача спосіб контролю версій. Наприклад, SVN або Source Gear;

Функціональні можливості:

Рендеринг.

Графічний двигун використовує DirectX (Windows), OpenGL (Mac, Windows, Linux), OpenGL ES (Android, iOS), та спеціальне власницьке API для Wii. Також підтримуються bump mapping, reflection

mapping, parallax mapping, screen space ambient occlusion (SSAO), динамічні тіні з використанням shadow maps, render-to-texture та повноекранні ефекти post-processing.

В Unity підтримуються файли з 3ds Max, Maya, Softimage, Blender, modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks та Allegorithmic Substance. В ігровий проект Unity можна імпортувати об'єкти цих програм та робити налаштовування за допомогою графічного інтерфейсу.

Для написання шейдерів використовується ShaderLab, який підтримує шейдерні програми написані на GLSL або Cg. Шейдер може включати декілька варіантів реалізації, що дозволяє Unity визначати найкращий варіант для конкретної відеокарти. Unity також має вбудовану підтримку фізичного рушія Nvidia (колишнього Ageia) PhysX, (починаючи з Unity 3.0) підтримка в системі реального часу симуляції одежі на довільній та прив'язаній полігональній сітці, системи ray casts та шарів зіткнення.

Скрипти

Скриптова система ігрового двигуна зроблена на Mono - вільний відкритий проект з реалізації.NET Framework. Програмісти можуть використовувати UnityScript (власна скриптова мова, подібна до JavaScript та ECMAScript), C# або Boo (мова програмування, подібна до Python) Починаючи з версії 3.0, до Unity входить перероблена версія MonoDevelop для зневадження скриптів.

Аsset Tracking.

В Unity включено систему контролю версій Unity Asset Server для ігрових об'єктів та скриптів. Система використовує PostgreSQL, роботу зі звуком, побудовану на основі бібліотеки FMOD (з можливістю програвати Ogg Vorbis аудіофайли), відеопрогравач із кодеком Theora, рушій для побудови ландшафтів рослинності, вбудовану систему карт освітлення (Beast), мережу для мультиплеєру (RakNet) та вбудовані навігаційні меші для пасфайндингу.

Unity Asset Server.

Інструментарій для спільної розробки на базі Unity. Сутність розробки ігор - це робота в команді. Сервер ресурсів Unity це доповнення, яке додає контроль версій у функціонал Unity.

Система контролю версій

Сервер ресурсів Unity це повнофункціональне рішення для контролю версій для всіх ігрових скриптів і ресурсів. Як і все інше в Unity, він простий у використанні.

Оптимізація для великих проектів

Багато-гігабайтні проекти з тисячами багато-мегабайтних файлів управляються з витонченістю. Налаштування імпорту і всі інші метадані також зберігаються точно також разом з історією змін їх версій. Спостерігати за зміною ресурсів\версій можна прямо всередині Редактора Unity. Якщо файли піддаються змінам, їх статус негайно оновлюється. Перейменування і переміщення ресурсів не створює будь-яких перешкод для безперервного робочого процесу.

Сервер ресурсів Unity управляється базою даних PostgreSQL. PostgreSQL відомий своєю надійністю, цілісністю даних і легкістю адміністрування і відмінно справляється з робочим навантаженням гігантських проектів.

Mac OS X або Linux

Сервер ресурсів доступний як для Mac OS X Installer, так і для Linux RPMs. Підтримка декількох платформ дає вам гнучкість в тому, як впровадити Сервер ресурсів Unity в вашу існуючу IT-інфраструктуру.

Терміни:

 Пайплайн - це ланцюжок процесів перетворення сценарію (вихідних даних) в 2D (двомірну) або 3D (стереоскопічну) картинку або в послідовність картинок (відео).

Рендеринг «візуалізація»- термін в комп'ютерній графіці, що позначає процес отримання зображення по моделі за допомогою комп'ютерної програми.

Позитивні сторони Unity:

Своїм IDE - він поєднує редактор сцен (він же редактор всього нижчеперерахованого), редактор ігрових об'єктів, і навіть простенький редактор скриптів. Крім того, в комплекті йде генератор дерев а- ля SpeedTree (непоганий) і террейнов (стандартний, зручний);

Можливостями для скриптинга - на відміну від UDK, в якому писати можна тільки на вбудованому самописна мовою, в Юніті доступні аж три мови: JavaScript, C #, і діалект пітона під назвою Boo. Мною особисто не перевірялося, але в російській ком'юніті проскакували фрази про те, що швидкість виконання скриптів в UDK в рази менше (воно й зрозуміло - адже в Юніті скрипти компілюються в нативний код).

Кросплатформеність - як уже згадувалося вище, підтримуються Windows, MacOS, Wii, iPhone, iPod, iPad, Android, PS3 і XBox 360. Ну і веб- плагін, звичайно, забувати не варто. Не всі з них вільно росповсюджуються на безкоштовній версії ліцензії (взагалі, доступні білди тільки під Windows, Mac і веб), але це цілком зрозуміло під Windows і Mac все компілюється взагалі без жодних змін в коді, під веб буду змушений, звичайно, порізати ресурси - качати 400 мегабайт щоб відкрити один рівень в браузері не дуже-то зручно. Роботу веб -версії опишу нижче;

Цілком сучасний рівень графіки - того ж UDK за кількістю

реалізованих можливостей Юніті, звичайно ж, програє - все-таки UnrealEngine можна назвати одним з флагманів по цій частині, і переплюнути його складно. Але в Юніті є deferred освітлення, вбудований редактор шейдеров, стандартний набір постпроцессінгових ефектів (повний список, можна і свої писати)

Продуктивність і масштабованість - без коливань ставимо

« відмінно». Тому що з більшою частиною рутини в цьому відношенні двигун справляється сам, і справляється чудово;

Запуск будь-якої програми в веб- плагіні - ми про це вже говорили  але згадаємо ще раз.

Невисока ціна за ліцензію - всього 1500 $. І безкоштовна версія, без деяких можливостей;

Негативні сторони Unity:

Він закритий. Тобто вихідних кодів вам не дадуть навіть за ліцензією. З UDK, якщо я все правильно зрозумів, та ж картина – вихідні коди ліцензуються окремо, за більші гроші. Втім, в Юніті скриптами можна абсолютно те ​​ж саме, що ми робили б з вихідними кодами – зауважте, практично все... Але все-таки вихідні коди всяко краще, тому це мінус - принаймні для тих, хто хотів би прикрутити сторонню фізику або той же SpeedTree;

На цьому негативні сторони Unity закінчуються.

Доповню скрінсейверами своєї программи:

         

Рисунок 1. Головне вікно IDE

Компіляція програми можлива прямо у режимі розробника

Рисунок 2. Компіляція у режимі розробника

Вбудований інспектор впливає  на предмет змінних і дозволяє змінювати змінні в скриптах на льоту, не дивлячись у код. Причому не тільки int'и, але й матеріали, текстури, моделі... Дуже економить час. У документації до API вказується хорошим тоном не писати, припустимо, шлях до текстурі безпосередньо в скрипті, а просто робити властивістю класу пусте властивість відповідно типу, і вибирати в інспекторові потрібне:

  Рисунок 3. Менежер об’єктів

Праворуч - заготовки об'єктів, ліворуч - ті об'єкти, що є в поточній сцені. Зручно, що під час прогону рівня в редакторі (кнопка «play»), можна поставити прогон на паузу і подивитися поточний стан об'єктів - набагато рідше доводиться читати логи або виводити на HUD відпрацьований рядок, щоб подивитися поведінку однієї маленької змінної:

Рисунок 4. Об’єкти для роботи в юніті.

2.2.1Мова програмування С#

C# (вимовляється Сі-шарп) — об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи.NET. Розроблена Андерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою Microsoft Research (при фірмі Microsoft).

Синтаксис C# близький до С++ і Java. Мова має строгу статичну типізацію, підтримує поліморфізм, перевантаження операторів, вказівники на функції-члени класів, атрибути, події, властивості, винятки, коментарі у форматі XML. Перейнявши багато що від своїх попередників — мов С++, Delphi, Модула і Smalltalk — С#, спираючись на практику їхнього використання, виключає деякі моделі, що зарекомендували себе як проблематичні при розробці програмних систем, наприклад множинне спадкування класів (на відміну від C++).

Історія виникнення

C# є дуже близьким родичем мови програмування Java. Мова Java була створена компанією Sun Microsystems, коли глобальний розвиток

інтернету поставив задачу розосереджених обчислень. Взявши за основу популярну мову C++, Java виключила з неї потенційно небезпечні речі (типу вказівників без контролю виходу за межі). Для розосереджених обчислень була створена концепція віртуальної машини та машинно-незалежного байт-коду, свого роду посередника між вихідним текстом програм і апаратними інструкціями комп'ютера чи іншого інтелектуального пристрою.

Java набула чималої популярності, і була ліцензована також і компанією Microsoft. Але з плином часу Sun почала винуватити Microsoft, що та при створенні свого клону Java робить її сумісною виключно з платформою Windows, чим суперечить самій концепції машинно-незалежного середовища виконання і порушує ліцензійну угоду. Microsoft відмовилася піти назустріч вимогам Sun, і тому з'ясування стосунків набуло статусу судового процесу. Суд визнав позицію Sun справедливою, і зобов'язав Microsoft відмовитися від позаліцензійного використання Java.

У цій ситуації в Microsoft вирішили, користуючись своєю вагою на ринку, створити свій власний аналог Java, мови, в якій корпорація стане повновладним господарем. Ця новостворена мова отримала назву C#. Вона успадкувала від Java концепції віртуальної машини (середовище.NET), байт-коду (MSIL) і більшої безпеки вихідного коду програм, плюс врахувала досвід використання програм на Java.

Нововведенням C# стала можливість легшої взаємодії, порівняно з мовами-попередниками, з кодом програм, написаних на інших мовах, що є важливим при створенні великих проектів. Якщо програми на різних мовах виконуються на платформі.NET,.NET бере на себе клопіт щодо сумісності програм (тобто типів даних, за кінцевим рахунком).

Станом на сьогодні C# визначено флагманською мовою корпорації Microsoft, бо вона найповніше використовує нові можливості.NET. Решта мов програмування, хоч і підтримуються, але визнані такими, що мають спадкові прогалини щодо використання.NET.

Назва мови

Символ # у назві мови можна інтерпретувати і як дві пари плюсів ++, що натякають на новий крок у розвитку мови порівняно з C++ (подібно до кроку від C до C++), і як музичний символ дієз, разом з буквою C, що становить в англійській мові назву ноти до-дієз. Останнє й дало назву мові. Попри те, що символ # насправді є символом для позначення номера на більшості клавіатур і відрізняється від символу дієз ♯ (Unicode U+266F), Microsoft, як автор мови, неодноразово зверталася до своїх клієнтів з проханням прийняти таку стилізацію.

Особливості мови

C# розроблялась як мова програмування прикладного рівня для CLR і тому вона залежить, перш за все, від можливостей самої CLR. Це стосується, перш за все, системи типів C#. Присутність або відсутність тих або інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно збагатився і сам C#; подібної взаємодії слід чекати і надалі. (Проте ця закономірність буде порушена з виходом C# 3.0, що є розширеннями мови, що не спираються на розширення платформи.NET.) CLR надає C#, як і всім іншим.NET-орієнтованим мовам, багато можливостей, яких позбавлені «класичні» мови програмування. Наприклад, збірка сміття не реалізована в самому C#, а проводиться CLR для програм, написаних на C# точно так, як і це робиться для програм на VB.NET, J# тощо.

Версії:

Версія 1.0

Проект C# був початий в грудні 1998 і отримав кодову назву COOL (C-style Object Oriented Language). Версія 1.0 була анонсована разом з платформою.NET у червні 2000 року, тоді ж з'явилася і перша загальнодоступна бета-версія; C# 1.0 остаточно вийшов разом з Microsoft Visual Studio.NET у лютому 2002 року.

Перша версія C# нагадувала за своїми можливостями Java 1.4, дещо їх розширюючи: так, в C# були властивості (що виглядають у коді як поля об'єкта, але, при зверненні до них, можуть викликати пов'язані методи класу), індексатори (подібні до властивостей, але приймають параметр як індекс масиву), події, делегати, цикли foreach, структури, що передаються за значенням, автоматичне перетворення вбудованих типів в об'єкти при необхідності (boxing), атрибути, вбудовані засоби взаємодії з некерованим кодом (DLL, COM) тощо. Крім того, в C# вирішено було перенести деякі можливості C++, відсутні в Java: беззнакові типи, перевизначення операцій (з деякими обмеженнями, на відміну від C++), передача параметрів у метод за посиланням, методи зі змінним числом параметрів, оператор goto. Також у C# залишили обмежену можливість роботи з вказівниками — в місцях коду, спеціально позначених словом unsafe і при вказівці спеціальної опції компілятору.

Версія 2.0

Проект специфікації C# 2.0 вперше був викладений Microsoft в жовтні 2003 року; у 2004 році виходили бета-версії (проект з кодовою назвою Whidbey), C# 2.0 остаточно вийшов 7 листопада 2005 року разом з Visual Studio 2005 і.NET 2.0.

Нові можливості у версії 2.0:

Часткові типи (розділення реалізації класу більш ніж на один файл).

Узагальнені, або параметризовані типи (generics, «дженерики»). На відміну від шаблонів C++, вони підтримують деякі додаткові можливості і працюють на рівні віртуальної машини. Разом з тим, параметрами узагальненого типу не можуть бути вирази.

Нова форма ітератора, що дозволяє створювати співпрограми за допомогою ключового слова yield, подібно Python і Рубі.

Анонімні методи, що забезпечують функціональність замикання.

Оператор ??: return obj1 ?? obj2; означає (у нотації C# 1.0) return obj1!=null ? obj1: obj2;.

Типи-значення, що обнуляються (nullable), (що позначаються знаком питання, наприклад, int? i = null;) є тими ж самими типами-значеннями, що можуть nfrj; приймати також значення null. Такі типи дозволяють поліпшити взаємодію з базами даних через мову SQL.

Версія 3.0

В червні 2004 року Андерс Гейлсберг вперше розповів на сайті Microsoft про плановані розширення мови в C#3.0. У вересні 2005 року було випущено проект специфікації C# 3.0 і бета-версія C# 3.0, що встановлюється у вигляді доповнення до існуючих Visual Studio 2005 і.NET 2.0. Офіційно версія C# 3.0 побачила світ 19 листопада 2007 року у складі.NET Framework 3.5.

В C# 3.0 з'явилися такі радикальні доповнення та зміни:

Ключові слова select, from, where, що дозволяють робити запити з SQL, XML, колекції тощо (запит, інтегрований в мову, англ. Language Integrated Query, або LINQ)

Ініціалізація об'єкта разом з його властивостями:

матиме вигляд:

Лямбда-вирази (анонімні функції):

матиме вигляд

Автоматичне визначення типів локальних змінних:

матиме вигляд:

Безіменні типи:

Методи-розширення — додавання методу в існуючий клас за допомогою ключового слова this при першому параметрі статичної функції.

C# 3.0 буде сумісний з C# 2.0 за генерованим MSIL-кодом; поліпшення в мові — чисто синтаксичні і реалізуються на етапі компіляції. Наприклад, багато з інтегрованих запитів LINQ можна реалізувати в поточних версіях використовуючи безіменні делегати в поєднанні з предикативними методами над контейнерами, на кшталт List.FindAll і List.RemoveAll.

Версія 4.0

Нові можливості в версії 4.0:

Динамічна типізація об'єктів:

 Динамічний перехід,

 Динамічний виклик методу.

Приклад:

Препроцесор

C# має «препроцесорні директиви» (хоча насправді він не має препроцесора) на основі препроцесора C, це дає програмісту можливість визначити символи, але не макроси. Умовні директиви, такі як #if, #endif, чи #else також можливі. Директиви типу #region дають натяк редактору для згортання фрагментів коду.

Специфікація C# визначає мінімальний набір бібліотек типів і класів, на який має розраховувати компілятор. На практиці, C# найчастіше використовується з якоюсь реалізацією Common Language Infrastructure (CLI), яка стандартизована як ECMA-335 Common Language Infrastructure (CLI).

Стандартизація

C# стандартизований в ECMA та ISO.

У серпні 2000 Microsoft Corporation, Hewlett-Packard та Intel Corporation виступили спонсорами стандартизації специфікації мови C#, а також Common Language Infrastructure (CLI) в організації зі стандартизації ECMA International. У грудні 2001 ECMA випустила ECMA-334 Специфікація мови C#. C# стала стандартом ISO у 2003 (ISO/IEC 23270:2006 — Information technology—Programming languages—C#). До того ECMA ще встигла адоптувати еквівалентну специфікацію як другк редакцію C# у грудні 2002.

У червні 2005 ECMA схвалила редакцію 3 специфікації C#, і відредагувала ECMA-334. Доповнення включали часткові класи, анонімні методи, тип null, і генерики (аналоги шаблонів C++).

У липні 2005 ECMA подала стандарти і відповідні технічні умови на ISO/IEC JTC 1 через пришвидшену процедуру (Fast-Track). Цей процес звичайно займає 6-9 місяців.

Критика

Хоча визначення мови C# і CLI стандартизовані ISO та Ecma, що забезпечує розумний і недискримінаційний ліцензійний захист (RAND) від патентних позовів, Microsoft використовує C# і CLI у своїй бібліотеці Base Class Library (BCL), яка є фундаментом їхньої власницької платформи.NET framework, і яка забезпечує безліч нестандартизованих класів (розширений I/O, GUI Windows Forms, веб-служби тощо). У деяких випадках, де патенти Microsoft відносяться до стандартів, використаних у.NET framework,

документовані Microsoft, і застосовані патенти доступні через інші RAND умови або через Обітницю Відкритої Специфікації Microsoft (Microsoft's Open Specification Promise, OSP), які випускають патентні права публічно. Але є деякі застереження і обговорення про те, що існують додаткові аспекти, патентовані Microsoft, що не покриті, які можуть утримувати незалежних реалізаторів повного фреймворку. Microsoft також погодився не позиватися проти розробників відкритого програмного забезпечення щодо порушення прав у неприбуткових проектах для частини свого фреймворку, покритого OSP. Microsoft погодився не порушувати патентних вимог щодо продуктів Novell проти платних клієнтів Novel за винятком переліку продуктів, що явно не згадують C#,.NET чи реалізацію.NET від Novell (проект Mono). Проте Novell дотримується точки зору, що Mono не порушує жодного патенту Microsoft.. Microsoft також уклав спеціальну угоду не позиватися проти браузерного плагіну Moonlight, який спирається на Mono, отриманного від Novell.

У зауваженні, опублікованому на сайті новин Free Software Foundation у червні 2009 Річард Столлман попереджає, що він вважає, що «Microsoft можливо планує одного дня оголосити всі вільні реалізації C# такими, що використовують програмні патенти» і рекомендував розробникам уникати того, що він називає «безвідплатним ризиком», пов'язаним із «залежністю вільних реалізацій C#». Free Software Foundation пізніше повторила свої попередження, стверджуючи, що розширення Microsoft Community Promise на специфікації ECMA C# і CLI можуть не вберігти від шкідництва Microsoft відкритим реалізаціям C#, оскільки багато специфічних для Windows бібліотек, включених у.NET та Mono, не покриті цими обіцянками. Тому більшість провідних дистрибутивів Лінукс, за винятком Novell SUSE Linux, не включають Mono в установку за замовчанням (хоча його і можна завантажити з репозиторіїв).

Реалізації

Титульним компілятором C# є Microsoft Visual C#.

Існують інші компілятори C#, часто вони включають реалізації Common Language Infrastructure і бібліотеки класів.NET:

Проект Microsoft Rotor (який тепер зветься Shared Source Common Language Infrastructure, ліцензований тільки для навчального і дослідницького використання) забезпечує реалізації CLR runtime і компілятор C#, і підмножину бібліотек фреймворка Common Language Infrastructure, відповідно до специфікації ECMA (до C# 2.0, і з підтримкою тільки Windows XP).

Проект SharpDevelop від компанії icsharpcode, який використовується як альтернатива Visual Studio. Забезпечує повну реалізацію Common Language Infrastructure. Остання стабільна версія IDE 4.4 (28 серпня 2013), тестова версія 5.0 (13 лютого 2014. Зовнішній вигляд IDE дуже нагадує Microsoft Visual C#,що робить комфортним перехід від однієї середи до іншої.

Проект Mono, початий компанією Ximian і продовжений її покупцем і наступником Novell, забезпечує відкритий компілятор C#, повну відкриту реалізацію Common Language Infrastructure, включаючи потрібні бібліотеки фреймворка відповідно до специфікації ECMA, і близьку до повної реалізацію власницьких бібліотек класів Microsoft.NET до.NET 2.0, але не специфічних бібліотек.NET 3.0 і.NET 3.5, як для Mono 2.0.

Проект DotGNU також надає відкритий компілятор C#, близьку до повної реалізацію Common Language Infrastructure, включаючи потрібні бібліотеки фреймворка відповідно до специфікації ECMA, і підмножину деяких залишених власницьких біліотек класів Microsoft.NET до.NET 2.0 (які не документовані або не включені у специфікації ECMA, але включені у стандартне визначення Microsoft.NET Framework).

DotNetAnywhere Micro Framework Common Language Runtime націлений на вбудовані системи, і підтримує майже всі специфікації C# 2.0.

Приклад «Hello, world!»

JavaScript — назва реалізації стандарту мови програмування ECMAScript компанії Netscape, базується на принципах прототипного програмування. Найпоширеніше і найвідоміше застосування мови — написання сценаріїв для веб-сторінок, але, також, використовується для впровадження сценаріїв керування об’єктами вбудованими в інші програми.

Незважаючи на схожість назв, JavaScript та мова програмування Java мають дуже мало спільного. Права на назву Java належать компанії Sun Microsystems.

JavaScript розроблений у компанії Netscape. На сьогоднішній день підтримується більшістю браузерів. Текст програми включається безпосередньо в HTML-документ і інтерпретується самим браузером (точніше, вбудованим у браузер рушієм JavaScript). Застосовується в основному для часткової автоматизації обробки і маніпуляції даними, які використовує сторінка.

Станом на 2006 рік, останній стандарт мови — JavaScript 1.7. Якщо спрощено, то ECMA-262 є стандартизованим варіантом мови JavaScript. Стандартом ECMA-357 визначено E4X, розширення мови для роботи з XML.

JavaScript має низку властивостей об’єктно-орієнтованої мови, але завдяки концепції прототипів підтримка об’єктів в ній відрізняється від традиційних мов ООП. Крім того, JavaScript має ряд властивостей, притаманних функціональним мовам, — функції як об’єкти першого рівня, об’єкти як списки, каррінг (currying), анонімні функції, замикання (closures) — що додає мові додаткову гнучкість.

JavaScript має C-подібний синтаксис, але в порівнянні з мовою Сі має такі корінні відмінності:

  •  об’єкти, з можливістю інтроспекції і динамічної зміни типу через механізм прототипів
  •  функції як об’єкти першого класу
  •  обробка винятків
  •  автоматичне приведення типів
  •  автоматичне прибирання сміття
  •  анонімні функції

JavaScript містить декілька вбудованих об’єктів: Global, Object, Error, Function, Array, String, Boolean, Number, Math, Date, RegExp. Крім того, JavaScript містить набір вбудованих операцій, які, строго кажучи, не обов’язково є функціями або методами, а також набір вбудованих операторів, що управляють логікою виконання програм. Синтаксис JavaScript в основному відповідає синтаксису мови Java (тобто, зрештою, успадкований від C), але спрощений порівняно з ним, щоб зробити мову сценаріїв легкою для вивчення. Так, приміром, декларація змінної не містить її типу, властивості також не мають типів, а декларація функції може стояти в тексті програми після неї.

Семантика мови схожа з семантикою мови Self.

Приклад оголошення і використання класу в JavaScript (клас є одночасно функцією, оскільки функції — це об’єкти першого рівня):

Одна з популярних технологій, що дозволила зробити сторінки динамічнішими і забезпечити нові можливості — це динамічне

завантаження і вставка даних в документ, що отримала назву AJAX. При розробці великих і нетривіальних веб-застосунків з використанням JavaScript, критично важливим є доступ до інструментів зневадження. Оскільки браузери від різних виробників дещо відрізняються у поведінці JavaScript і реалізації Об'єктної Моделі Документа, треба мати в руках зневаджувач для кожного браузера, якщо веб-застосування орієнтовано на нього.

На даний час Internet Explorer, Firefox, Opera, Google Chrome та Safari мають зневаджувачі для себе.

Internet Explorer має три завантажувача для себе: Microsoft Visual Studio є найпотужнішим з цих трьох, слідом йде Microsoft Script Editor (компонента Microsoft Office), і нарешті існує безплатний Microsoft Script Debugger з базовими функціями. Веб-застосування для Firefox допоможе привести до розуму додаток Firebug (зручно вбудований безпосередньо в браузер), або давніший відладчик Venkman, котрий також працює з браузером Mozilla. Drosera — це зневаджувач з WebKit engine, що супроводжує Apple Safari.

Також існують кілька інструментів, як вільних, наприклад JSLint, інструмент перевірки якості коду, що сканує JavaScript програму, шукаючи проблеми коду, так і комерційних продуктів типу інструменту з назвою JavaScript Debugger.

Оскільки JavaScript є інтерпретатором, без строгої типізації, і може виконуватися в різних середовищах, кожне зі своїми власними особливостями сумісності, програміст має бути дуже уважним, і повинен перевіряти, що його код виконується як очікується в широкому переліку можливих конфігурацій. Дуже часто трапляються випадки, коли скрипт, що чудово працює в одному середовищі, видає некоректні результати в іншому.

Кожен блок сценарію інтерпретатор розбирає окремо. На веб-сторінках, коли треба комбінувати блоки JavaScript та HTML, синтаксичні помилки найти легше, якщо тримати функції сценарію в окремому блоці

коду, або (ще краще) використовувати багато малих пов’язаних.js файлів. В такий спосіб синтаксична помилка не спричинятиме «падіння» цілої сторінки, і можна надати допомогу, елегантно вийшовши зі сторінки.

Реальний звіт про використання JavaScript в браузерах свідчить, що

  •  біля 90 % користувачів мають встановленим JavaScript версії 1.3,
    •  близько 4 % — версію 1.0,
    •  близько 3.5 % — версію 1.5,
    •  близько 2.5 % — версію 1.6,

3 РОЗРАХУНКОВИЙ РОЗДІЛ

3.1 Скриптування та аналіз об’єктів програми

Прграма «Віртуальна екскурсія по ОККТ» дуже велика

Всі 3 поверхи заставлені об'єктами що знижують FPS до 15, що робить       неприйнятним перегляд на слабких комп'ютерах, для підвищення FPS проект розділений на 3 локації, такі як:

  •  Перший поверх та вулиця
  •  Другий поверх
  •  Третій поверх

Для оптимізації на слабких комп'ютерах було вирішено використовувати мінімальні системні ресурси, але підвищити якість текстур. (рисунок 5)

Рисунок 5. Оптимізація

Unity 3d - Програмування С #

У Unity є вбудований редактор коду, що підсвічує і доповнює синтаксис, називається він MonoDevelop (див. рис.6):

 

Рисунок 6. Програмування у Mono Develop

Скрипти програми:

using UnityEngine;  // Використовуемо бібліотеку UnityEngine

using System.Collections; // Використовуемо бібліотеку System.Collections

public class Load1lvlbox: MonoBehaviour { // створюємо клас Load1lvlbox

public Texture2D LoadScreen; // змінна для екрану завантаження типу 2D текстура

private Rect rect1; // зміна системи координат

void Start () { // При старяті программи задати у центр екрана, картинку завантаження.

rect1 = new Rect((Screen.width/2) - (LoadScreen.width/2),(Screen.height/2) - (LoadScreen.height/2),LoadScreen.width,LoadScreen.height);

}

public GameObject ExitPoint; // Обєкт на сцені, куди телепортувати гравця після завантаження.

void OnTriggerEnter(Collider other) { // перевіряемо чи зіткнувся гравець з предметом

showimage = true; // показуємо екран зупуска

other.gameObject.transform.position = ExitPoint.transform.position; // перенести гравця на координати другої сцени

Application.LoadLevel (1); // завантаження сцени 2

// showimage = false; // не показувати стартовий екран

}

void OnGUI () // розмальовка екрану

{

if (showimage == true) { // якщо чекбокс включено малюемо запусковий екран.

GUI.Label(rect1,LoadScreen);

}

Зміна камеры:

using UnityEngine;  // Використовуемо бібліотеку UnityEngine

using System.Collections; // Використовуемо бібліотеку System.Collections

public class SwitchCamera: MonoBehaviour 

// Використовуемо загальнодоступний клас SwitchCamera

{

int stadia = 1; //  вираховуемо змінну запам’ятовуемо натиснута клавіша С або ні

 void Start() // Дія при запуску скрипта, скрипт знаходиться на сцені, а це означає щр призапуску проекту буде автоматично використати код приведений нижче

{

Screen.showCursor = false; // прибираемо курсор з екрану

Screen.lockCursor = true; // блокуємо курсор у центрі екрану

}

void Update () // перевіряемо кожний кадр

{   

switch(stadia) // Конструкція switch

{

case 1: // Якщо stadia = 1, то:

Screen.showCursor = false; // прибираємо курсор

Screen.lockCursor = true; // блокуемо курсор в центрі єкрану

stadia = 2; // переходим на наступну стадію

break; // переріваємо виконання коду  

case 2: // Якщоstadia = 2, то:

stadia = 1; // Повертаємо стадію у початкове положення

break; // перериваємо витконаня з перемінною коду

}

void OnGUI () малюємо на екрані координ Rect.

{

GUI.Label(new Rect(10,10,300,30), "керування:");

GUI.Label(new Rect(10,40,300,30)," <C> - блокувати\роблокувати курсор");

GUI.Label(new Rect(10,70,300,30)," <W A S D> - рух");

GUI.Label(new Rect(10,100,300,30)," <ПКМ> - інформація");

}

Для коректної роботи програми на комп'ютерах користувачів повинен бути встановлений браузер (IE. Опера, Google chrome, Mozila FireFox і т. д.), Unity web player.

Після установки Unity web player, на екрані користувачів з'явиться завантажувальний екран Unity.

                           Рисунок 7. Завантажувальний екран Unity

Після завантаження програми, ми побачимо стартову сцену, на якій можна ознайомитися з управлінням в натиснувши клавішу Е біля стенду.

   На цій сцені ми можемо почати віртуальну екскурсію по Одеському коледжі комп’ютерних технологій при натисканні на кнопку «Почати екскурсію»

Після натискання кнопки «Почати екскурсію », користувач починає свою екскурсію з входу до Одеського коледжу комп’ютерних технологій. Для огляду середовища навколо вашого персонажа використовуйте маніпулятор миша, для пересування по місцевості використовуйте клавіші: W - для пересування персонажа вперед, A - для пересування персонажа вліво, S - для пересування персонажа назад, D - для пересування персонажа вправо.

3.2 Тестування та виправлення помилок

        Я розробляв код програми для кожної сцени проекту й одразу ж тестував його. Були випадки коли код не копілювався так як мені було потрібно. Програму було розбито на декілька сцен з метою оптимізації. Я написав сценарій для переходу з першого поверху на другий, але при тестуванні я був розачарований тим що не було потрібного ефекту: замість того щоб опинитися на другому поверсі  я потрапив на перший. Я почав шукати неправильне місце написання сценарію й здивувався. Справа у тому, що я використовую MonoDevelopment, а це серидовище зрблене спеціально для написання сценаріїв. Тобто  він має повідомляти про помилки у синтаксисі, але нічого він не виявив. Я звернувся до мого співрозробника.Він протестував мій код, й також нічого не виявив. Я мучився з цим приблизно 2 дні й дуже здивувався зрозумівши у чому була помилка. При компіляції проекту я забув додати до першого поверху другий. Тобто персонажу не було куди перходити. Ось так здобувається досвід.

       

                                       4. ЕКОНОМІЧНИЙ РОЗДІЛ

4.1. Визначення трудомісткості розробки програмного продукту

Тривалість розробки програмного продукту залежить від його обсягу, трудомісткості розробки окремих етапів об’єму функцій програмних засобів в залежності від їх типів, а також кваліфікації робітників та запланованих строків, що диктують умови ринку.

В якості вихідних даних для визначення трудомісткості розробки програмного продукту використовуємо типовий склад етапів та збільшення норми часу на розробку програмних засобів (ПЗ). Використовуючи міжгалузеві нормативні матеріали на роботі по розробці, виготовлені та супроводженню програмних засобів обчислювальної техніки та програмуванню задач для ЕОМ визначаємо обсяг програмного продукту.

Методом структурної аналогії по відповідним каталогам аналогів, наведених в таблиці 4.1 визначається обсяг програмних засобів в тисячах умовних машинно-команд програми – аналога.

Таблиця 4.1 Каталог аналогів програмних засобів (ПЗ)

Найменування типів ПЗ

Обсяг функцій ПЗ - ,  умовних машинних команд

  1.  ПЗ СУБД

2500-9800

  1.  ПЗ система введення лінійних файлів

860-6600

  1.  Комплексні системи ведення БД

950-7430

  1.  ПЗ ведення інформації

1060-5750

  1.  ПЗ автоматизацій засобів по каталогу

680-7000

  1.  ПЗ автоматизованих розрахунків

1300-8600

  1.  ПЗ загальної математики з ПЗ імітаційного моделювання

7800-8800

  1.  ПЗ організацій обчислювального процесу

1300-10200

  1.  ПЗ оптимізаційних розрахунків

1300-4200

Використовуючи значення ПЗ автоматизованих розрахунків, що містить обсяг функцій V0 в умовних машинних командах, визначаємо трудомісткість по даним таблиці 4.2.

Таблиця 4.2 Трудомісткість обсягу програмних засобів

Обсяг ПЗ, тисяч умовних машинних команд

Норма часу чоловік/годин

1

2

1.0

229

2.0

244

3.0

262

4.0

283

5.0

306

6.0

330

7.0

357

8.0

385

9.0

414

10.0

445

12.0

510

14.0

580

16.0

654

18.0

731

20.0

812

Програмному продукту, що розробляється відповідає аналог – програмних засобів оптимізаційних розрахунків з V0 = 8500 умовних машинних команд з трудомісткістю Тр = 400 чоловік/годин. 

Трудомісткість розробки програмного продукту повинна включати розробку наступних етапів:

  •  технічне завдання – ТЗ
  •  технічного проекту – ТП
  •  робочого проекту – РП
  •  випровадження – ВП

Трудомісткість програмного продукту, що розробляється визначаємо по кожному етапу на основі трудомісткості аналога з урахуванням складності розробки, ступені новизни та ступеню використання розробки стандартних модулів на основі формул:

Ттз = Тра × ПВ1 × Кн ;    (4.1)

Ттп = Тра × ПВ2 × Кн ;     (4.2)

Трп = Тра × ПВ3 × Кн × Кт ;   (4.3)

Твп = Тра × ПВ4 × Кн ;     (4.4)

де Тра – збільшена норма на розробку аналога програмних засобів, чоловік/годин (табл. 4.2), яка коригується поправочним коефіцієнтом, що враховує умови розробки ПЗ, тобто в умовах комп’ютера, КК = (0,8);

ПВ1 – питома вага і-го етапу розробки (табл. 4.3);

Кн – поправочний коефіцієнт, що враховує ступінь новизни (табл. 4.4);

Кт – поправочний коефіцієнт, що враховує ступінь використання в розробці типових програм (табл. 4.5).

Таблиця 4.3 Значення питомих коефіцієнтів трудомісткості етапів в загальній трудомісткості розробки програмних засобів

Код етапу

Ступінь новизни

А

Б

В

ТЗ

0,15

0,12

0,12

ТП

0,16

0,15

0,11

РП

0,55

0,58

0,61

ВП

0,14

0,15

0,16

Таблиця 4.4 Значення поправного коефіцієнту враховуючого ступінь новизни програмних засобів

Код ступеню новизни

Ступінь новизни

Значення

Кн 

А

Принципово нові ПЗ, що не мають аналогів

1,75 – 1,2

Б

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

1,0 – 0,8

В

ПЗ, що мають аналог

0,7

Таблиця 4.5 Значення коефіцієнту ступені використання в розробці типових програм

Ступінь охоплення реалізованих функцій розроблювального ПЗ типовими

програмами %

Значення

Кт 

60 та вище

0,6

40-60

0,7

20-40

0,8

До 20

0,9

Ступінь новизни – В. Код ступені новизни – Значення Кн – А (1,5). Ступінь охвату реалізованих функцій – значення Кт – 83% (0,6).

Ттз = (400 × 0,6) ×0,15 × 1,5 = 54            (чол./годин);

Ттп = (400 × 0,6) × 0,16× 1,5 = 57.6   (чол./годин);

Трп = (400 × 0,6) × 0,55× 1,5 × 0,6 =118,8 (чол./годин);

Твп = (400 × 0,6) × 0,14× 1,5 = 50,4  (чол./годин).

Розрахунок трудомісткості розробки ПЗ автоматизованих розрахунків представлено нами у формулах розрахунку трудомісткості розробки ПЗ та зведено у таблицю 4.6.

Розраховуємо трудомісткість розробки програмного продукту:

Ткк = 1,5 × Nтз = 1,5 × 2 = 3    (чол./годин);

Тнк = 0,15 × Nтз = 0,15 × 2 = 0,3            (чол./годин);

Ткк = 1,5 × Nтп = 1,5 × 11 = 16,5   (чол./годин);

Тнк = 0,15 × Nтп = 0,15 × 11 = 1,65   (чол./годин);

Ткк = 1,5 × Nрп = 1,5× 20 = 30   (чол./годин);

Тнк = 0,15 × Nрп = 0,15 × 20 = 3    (чол./годин);

Ткк = 1,5 × Nвп = 1,5 × 10 = 15    (чол./годин);

Тнк = 0,15 × Nвп = 0,15 × 10 = 1,5                     (чол./годин);

Тнк = 0,15 × Nпз = 0,15 × 44= 6,6            (чол./годин);

Ткк = 1,5 × Nпз = 1,5 × 44 =66   (чол./годин);

Тпз = 1,5 × Nпз = 1,5 × 44 = 66    (чол./годин).

Таблиця 4.6 Розрахунок трудомісткості розробки програмного продукту

Найменування етапів розробки

Тра

Ni

ПВi

Кн

Кт

Розрахунок годин

1. Технічне завдання

(400×0,6)

2

0,15

1.5

Ттз = (по формулі 4.1) = 54

Ткк = 3

Тнк = 0,3

2. Розробка ТП (алгоритму та блок-схеми)

(400×0,6)

11

0,16

1.5

Ттп = (по формулі 4.2) = 57,6

Ткк = 16,5

Тнк =1,65   

3. Розробка робочого проекту (складання програми)

(400×0,6)

20

0,55

1.5

0,6

Трп = (по формулі 4.3)= 118,8

Ткк = 30

Тнк = 3   

4. Наладка та впровадження

(400×0,6)

10

0,14

1.5

Твп = (по формулі 4.4) = 50,4

Ткк = 15

Тнк = 1,5   

5. Пояснювальна записка

44

Тпз = 66

Ткк = 66

Тнк = 6,6

Всього в т.ч. по видам робіт

- на розробку

- на контроль керівником

- нормоконтроль

Тзаг =  = 346,8 + 193,5 +19,35 =559,65         (н-годин)

∑Тр = 54 + 57,6 + 118,8 + 50,4 + 66 =  346,8          (н-годин)

∑Ткк = 66 + 16,5 + 30 + 15 + 66 = 193,5                 (н-годин)

∑Тнк = 6,6 + 1,65 + 3 + 1,5 + 6,6  = 19,35               (н-годин)

де - обсяг форматів документацій і-го найменування.

Розраховуємо трудомісткість розробки програмного продукту:

Тривалість розробки програмного продукту в місяцях розрахуємо по залежності:

    (4.6)

де  - загальна тривалість розробки, годин

8 - тривалість робочого дня, годин;

0,7 - коефіцієнт переводу в робочі дні;

Тіj - трудомісткість j-го виду робіт по і-му етапу.

12 - дванадцять місяців у році.

Тпл =559,65\((8х360х0,7)/12)=3,3

4.2. Визначення ціни програмного продукту

Для визначення ціни ми обчислили основну заробітну плату виконавців, матеріальні витрати, вартість машино-часу та витрати на розробку програмного продукту. Розрахунок основної заробітної плати виконавців проводимо в таблиці 4.7.

Таблиця 4.7. Основна заробітна плата виконавців

Найменування роботи

Розряд виконавців

Трудомісткість

робіт/місяць

Ставка мін. з/пл. Грн.

Тарифний коефіц., Ктар

Розрахунок осн. з/пл.,грн.

1.Розробка ПП

2.Контроль керівника

3. Нормо-контроль

12

13

11

2,33

0,61

0,15

1210

1210

1210

4,24

4,83

3,72

9484,03

2828,45

535,68

Всього

36

3,09

 3630

  12,79

12848,16

Тjм  = Тj / (8 × 21)      (4.6)

Трм = 283,8 /(8 × 21)= 1,7     (робіт/місяць);

Тккм = 67,5/(8 × 21)= 0,4     (робіт/місяць);

Тнкм = 6,75/(8 × 21)= 0,04     (робіт/місяць).

Зо = Змін × Ктар × Тjм      (4.7)

Зо = 1210 × 4,24 × 2,33 = 11953,83   (грн);

Зо = 1210 × 4,83 × 0,61 =3565,023   (грн);

Зо = 1210 × 3,72 × 0,15 = 675,18        (грн).

Розмір основної заробітної плати визначаємо по формулі:

Зо= ∑Тjм × См.з × Ктар              (4.8)

∑Зо = 11953,83+ 3565,023+ 675,18= 16194,033  (грн).

де Тіj – трудомісткість j – го виду робіт, місяць.

Смз – ставка мінімальної заробітної плати 960 грн. з 01.04.11

Ктар – тарифний коефіцієнт виконавця

Матеріальні витрати розраховуємо по таблиці 4.8.

Таблиця 4.8. Розрахунок матеріальних витрат

Найменування матеріальних витрат

Тип,

модель

Кількість

Ціна,

грн.

Вартість,

грн.

Папір

Папір

Картридж

Диск

А4

А1

HP

CD

45

2

1

1

0,3

5

80

4

33

10

80

4

Всього

       49

Вм = 127

Транспортно-

заготівельні

витрати – 10%

Втрз = 0,1 × Вм

Втрз = 12,7

Всього

Вм = Вм + Втрз

Вм = 127+12,7 = 139,7

Вартість машино-часу роботи (Цмв) ми визначали по вартості машинного часу лабораторії обчислювальної техніки (5 грн./година).

Виходячи з трудомісткості наладки й роботи програми ми знайшли сумарні витрати на машино-роботи:

Вмч = Твп × Цмв          (4.9)

Вмч = (Твп + Ткк + Тнк) × 5 = (34,5 + 3,5 + 0,75) × 5 = 193,75  (грн).

Калькуляція планової собівартості програмного продукту ми розрахували по формі, яка приведена в таблиці 4.9.

Таблиця 4.9. Калькуляція програмного продукту

Статі витрат

Значення, грн.

Формула розрахунків

1. Матеріали

139,7

Вм (див. таблицю 4.8)

2. Спеціальне обладнання

24291,04

Вспец = 1,5 × Зо

3. Основна заробітна плата

 16194,033

Зо (див. таблицю 4.7)

4. Додаткова заробітна плата

    1619,4

Зд  =  0,1 × Зо

5. Відрахування в єдиний соціальний внесок

5130,27

Вєсв = (Зо + Зд) × 0,363

6. Вартість машинного часу

193,75

Вмч (див. формулу 4.9)

7. Накладні витрати

4048,5

Вн =  0,25 × Зо

8. Витрати на відрядження

809,7

Вв =  0,05 × Зо

9. Собівартість виробнича

52426,39

(сумма предідущих)

10. Витрати по збуту

7863,95

Взб = 0,15 × Свр

11. Повна собівартість планова

60290,34

Сп = Сврзб

 Вспец = 1,5 × 16194,033  = 24291,041                 (грн);

     Зд = 0,1 × 16194,033= 1619,4                     (грн);

Вєсв = (16194,033+ 1619,4) × 0,363 = 5130,27   (грн);

Вн = 0,25 × 16194,033= 4048,5     (грн);

Вв = 0,05 × 16194,033= 642,41     (грн);

Взб = 0,15 × 52426,39= 7863,95     (грн);

                 Сп = 52426,39+ 7863,95= 60290,34          (грн).

 

Розмір прибутку програмного продукту, що включається до ціни ми розрахували по формулі:

П = Сп ×  (Р/100)     (4.10)

де Р – плановий рівень рентабельності (25%).

П = 60290,34× (25/100) = 15072,585               (грн).

Оптову ціну програмного продукту ми визначали по формулі :

Цо = Сп + П             (4.11)

Цо = 60290,34+ 15072,585=75362,92        (грн).

Податок на додану вартість розраховуємо за формулою:

                    ПДВ = 0,2 × Цо           (4.12)

ПДВ = 0,2 × 75362,92  = 15072,58           (грн).

Ціну реалізації програмного продукту розраховуємо за формулою:

Цр = Цо + ПДВ           (4.13)

Цр = 75362,92 +15072,58  = 90435,5       (грн).

4.3 Економічна частина супутніх результатів

Набір супутніх результатів, зв`язаний з науково-технічним прогресом дуже різноманітний, але механізм їх прямого грошового вимірювання при оцінці ефективності в загальному виді відсутній. Для їх оцінки ми залучили різні методи, при цьому використання різного методу вимірюється конкретним характером задачі. Самим поширеним є метод відвертання шкоди та бальний метод. При методі відвертання шкоди вартісна оцінка супутніх результатів відображає можливі витрати в разі відказу від реалізації впроваджуваного заходу по науково-технічному прогресу.

Ми визначали вартісну оцінку супутніх результатів бальним методом при реалізації заходів по НТП, пов’язаних з використанням нового програмного продукту. Соціальний результат нового інноваційного продукту може проявитися в іншому, а саме: що при його використанні покращується:

-       розв’язальна спроможність;

  •  точність;
  •  надійність.

Ми обрали ті параметри, що найбільш значні для оптимального режиму програмного продукту ПЗ автоматизованих розрахунків, тобто більше всього чинять вплив на роботу програмного продукту в цілому.

Ми склали таблицю бальних оцінок для створення сприятливих умов праці програмного продукту, по формі, приведеній в таблиці 4.10.

Таблиця 4.10. Бальна оцінка для умов праці програмного продукту

Перелік важливих параметрів

Величина в балах

До впровадження ПЗ

(або аналога)

Після впровадження

  1.  Надійність

2

3

  1.  Точність

2

2

  1.  Розвязальна спроможність

3

3

Середній бал усіх важливих параметрів, що створюють оптимальні умови для роботи програмного продукту складають:

До впровадження:

Після впровадження:

Звідси інтегральна оцінка категорії якості роботи програмного продукту в балах:

До впровадження:

Бя1=19,7 × X1 – 1,6 × X12     (4.14)

Бя1=19,7 × 2,33 – 1,6 × 2,332 = 37,21

Після впровадження:

Бя2=19,7 × X2 – 1,6 × X22     (4.15)

Бя2=19,7 × 2,67 – 1,6 × 2,672 = 41,19

Величина працездатності ПЗ під впливом параметрів та умови його роботи або швидкість дії програмного продукту визначається по формулі:

      (4.16)

 

Збільшення строку служби або швидкості дії одержання сигналу при сприятливих умовах ми визначаємо по формулі:

    (4.17)

4.4. Економічні висновки

Впровадження програмного засобу автоматизованих розрахунків з обсягом функції V0  = 8500 умовних машинних команд включає етапи розробки технічного завдання, технічного проекту, робочого проекту та впровадження. По даним розрахунків проекту загальна трудомісткість розробки складає – 400 норма-годин або 2,33 місяці. Основна зарплата виконавців склала – 16194,033 гривень. Для визначення ціни програмного продукту розроблено калькуляцію, до складу якої увійшли матеріальні витрати, витрати на спец обладнання, основна та додаткова заробітна платня, відрахування на соціальні заходи та пенсійне забезпечення, внески на соціальне страхування на випадок безробіття та від нещасних випадків, а також вартість машинного часу, відрахунків та інші накладні витрати, а також витрати по збуту. Повна собівартість програмного продукту склала – 60290,34 гривні, розмір прибутку – 15072,585 гривні; а ціна продукту з ПДВ – 90435,5 гривні.

Впровадження даного програмного продукту сприяє покращенню надійності, точності та розв’язальної спроможності, що збільшить швидкість одержання результату на 5,2


5. ОХОРОНА ПРАЦІ ТА БЕЗПЕКА ЖИТТЄДІЯЛЬНОСТІ

Комп'ютерна техніка розвивається сьогодні особливо стрімко, з надзвичайною швидкістю з'являються, і також швидко застарівають і відмирають різні технічні рішення і стандарти. За прогнозами різних економіко-соціологічних організацій комп'ютерна техніка і телекомунікації будуть залишатися однією з найбільш розвинаючихся галузей світової індустрії ще принаймні протягом 10 - 15 років. Так що зменшення числа людей, що працюють за комп'ютерами чекати не приходитися. Навпаки, повальна комп'ютеризація, що вже давно охопила бізнес-сектор, сьогодні усе більше захоплює масового споживача. У подібній гонці, де немає нічого постійного, складно давати рекомендації, приймати які-небудь довговічні рішення, а тим більше встановлювати стандарти з комп'ютерами.

Щоб робота за персональним комп’ютером була комфортною і безпечною необхідно подбати про апаратне устаткування комп'ютера. Як правило, найбільшу шкоду здоров'ю користувача комп'ютера наносять пристрою введення-висновку:

  •  монітор,
  •  клавіатура,
  •  миша.

У наш час, коли проблеми безпеки роботи за комп'ютером стають дуже гостро, з'являється безліч різних стандартів на екологічну безпеку устаткування персонального комп'ютера. Сучасний монітор повинний відповідати принаймні трьом загальноприйнятим стандартам безпеки й ергономіці:

  •  FCC Class B - цей стандарт розроблений канадською федеральною комісією з комунікацій для забезпечення прийнятного захисту;
  •  навколишнього середовища від впливу радіоперешкод у замкнутому просторі. Устаткування, що відповідає вимогам FCC Class B, не повинне заважати роботі теле- і радіо апаратури;
  •  MPR-II - цей стандарт був випущений у Шведському національному департаментом. MPR-II накладає обмеження на випромінювання від комп'ютерних моніторів і промислової техніки, використовуваної в офісі;
  •   TCO'95 (а також сучасний TCO'99) - рекомендація, розроблена Шведською конференцією профспілок і Національною радою індустріального і технічного розвитку Швеції (NUTEK), яка регламентує взаємодію з навколишнім середовищем. Вона вимагає зменшення електричних і магнітних полів до технічно можливого рівня з метою захисту користувача;
  •  EPA Energy Star VESA DPMS - відповідно до цього стандарту монітор повинний підтримувати три енергозберігаючих режими - чекання (stand-by), припинення (suspend) і «сон» (off). Такий монітор при довгому простої комп'ютера переводиться у відповідний режим, з низьким енергоспоживанням.

Необхідно також щоб монітор мав можливість регулювання параметрів зображення (яскравість, контраст і т.д.). Рекомендується, щоб при роботі з комп'ютером частота вертикального розгорнення монітора була не нижче 75Гц (при цьому користувач перестає звертати увагу на мерехтіння зображення, що веде до швидкого втомлення очей).

В даний час багато фірм виробники моніторів почали масовий випуск так званих плоскопанельних моніторів (LCD), які позбавлені багатьох екологічних недоліків, властивим моніторам з електронно-променевою трубкою, як то, електромагнітне випромінювання, мерехтіння і т.д.

На відміну від моніторів для комп'ютерних пристроїв введення (клавіатура і миша) у даний час не мається загальноприйнятих і широко розповсюджених стандартів. У той же час багато виробників даного устаткування рекламуючи свою продукцію, описують різні конструктивні рішення, що підвищують ергономічність її використання, а саме клавіатура з

можливістю регулювання розташування клавіш, миша з формою, що

зменшує утому кисті при тривалій роботі. Хоча деякі з них варто розглядати тільки як помітну рекламу, багато моделей дійсно є своєрідним технологічним стрибком уперед з погляду безпеки роботи за комп'ютером.

Якщо дотримуватися усіх правил при організації робочого місця, то можно видалити риск отримання різних захворювань та недоліків, що можуть виникнути при довгій роботі.

Наукова організація робочого простору базується на даних про середню зону охоплення рук людини - 35-40 см. Ближній зоні відповідає область, охоплювана рукою з притиснутим до тулуба ліктем, далекому зоні - область витягнутої руки.

Неправильне положення рук при друку на клавіатурі приводить до хронічних розтягань кисті. Важливо не стільки відсунути клавіатуру від краю

столу й обперти кисті об спеціальну площадку, скільки тримати лікті паралельно поверхні столу і під прямим кутом до плеча. Тому клавіатура повинна розташовуватися в 10-15 см. (у залежності від довжини ліктя) від краю столу. У цьому випадку навантаження приходиться не на кисть, у якій вени і сухожилля знаходяться близько до поверхні шкіри, а на більш пасуючу для цього частину ліктя. Сучасні, ергономічні моделі мають оптимальну площу для клавіатури за рахунок розташування монітора в самій широкій частині столу. Глибина столу повинна дозволяє цілком покласти лікті на стіл, відсунувши клавіатуру до монітора.

Монітор, як правило, розташовується надмірно близько. Існує кілька наукових теорій, по різному визначаються значимі фактори й оптимальні відстані від ока до монітора. Наприклад, рекомендується тримати монітор на відстані витягнутої руки Але при цьому людина повинна мати можливість сама вирішувати, наскільки далеко буде стояти монітор.

Саме тому конструкція сучасних столів дозволяє змінювати глибину положення монітора в широкому діапазоні. Верхня границя на рівні очей або не нижче 15 см. нижче рівня очей.

Значимим фактором є під простір стільницею. Висота наших столів

відповідає загальноприйнятим стандартам, і складає 74 см. Необхідно стільки

місця, щоби працівник міг з легкістю сгінати та розгинати коліна та почувати

себе комфортно.

Крісло повинне забезпечувати фізіологічно раціональну робочу позу, при якій не порушується циркуляція крові і не відбувається інших шкідливих впливів. Крісло обов'язкове повинно бути з підлокітниками і мати можливість повороту, зміни висоти і кута нахилу сидіння і спинки. Бажано мати можливість регулювання висоти і відстані між підлокітниками, відстані від спинки до переднього краю сидіння. Важливо, щоб усі регулювання були незалежними, легко здійсненними і мали надійну фіксацію. Крісло повинне бути регульованим, з можливістю обертання, щоб дотягтися до далеко розташованих предметі

Регульоване устаткування повинне бути таким, щоб можна було прийняти наступні положення:

  •  Поставити ступні пласко на підлогу або на підніжку;
  •  Поперек злегка вигнутись, спираючись на спинку крісла;
  •  Руки повинні зручно розташовуватися по сторонах;
  •  Лінія пліч повинна розташовуватися прямо над лінією стегон;
  •  Передпліччя можна покласти на м'які підлокітники на такій висоті, щоб зап'ястя розташовувалися трохи нижче, ніж лікті;
  •  Лікті зігнуті і знаходяться приблизно в 3 см. від корпуса;
  •  Зап'ястя повинні прийняти нейтральне положення (ні підняті, ні опущені).

ВИСНОВКИ

Я вважаю що написана мною програма дуже цікава. Особливо для тих хто хоче навчатися в Одеському коледжі комп’ютерних технологій.

Вона надає змогу вивчити найцікавіші місця технікуму навіть не встаючи з-за столу.

Ми створили проект за допомогою IDE (Integration Development Envrionment) Unity Engine який спочатку я вивчив, оскільки для мене це не знайома програма. Вона має вбодоване серидовище написання коду-MonoDevelop.

У програмі є цікава функція, якій нададуть перевагу новачки у коледжі.Це навігаційна функція. Яка допоможе знайти потрібну аудиторю.

ЛІТЕРАТУРА

  1.  Джейсон, Прайс; Майк, Гандэрлой Visual C#.NET. Полное     руководство; КОРОНА принт, 2012. - 960 c.
  2.  Нейгел, К. C# 2005 для профессионалов; Вильямс, 2011. - 191 c

3.Дэвид Флэнаган. JavaScript. Подробное руководство. Символ-Плюс 2009, 204с.

  1.  Джон Р. Беар Б. Секреты JavaScript ниндзя 2012. 134с.
  2.  http://www.unity3d.ru/



 

Другие похожие работы, которые могут вас заинтересовать.
8704. ТО – 2 ходової частини 50.35 KB
  Зміст лекції При ТО – 2 – додатково до об’єму робіт які виконують при ТО – 1 проводять ретельне діагностування яке залежить в перевірці загальної геометрії рами кузову автомобіля паралельності установки мостів та кутів розвалу та сходження керованих коліс. Через певний проміжок пробігу проводиться перестановка коліс на автомобілі за установленими схемами рисунок 1 Рисунок 1 – Схема перестановки коліс автомобіля а – автомобіля КамАЗ; б – автобусів ЛиАЗ ЛАЗ; в – легкового автомобіля ГАЗ – 31029. Візок представляє собою П – подібну...
8562. ТО – 1 ходової частини 71.53 KB
  Сьогодні на занятті ми вивчимо тему “ТО – 1 ходової частини †і дізнаємось які види робіт виконують при ТО – 1 рами переднього та заднього мостів. План: Щоденне обслуговування ходової частини; Роботи при технічному обслуговування ходової частини; Регулювання елементів ходової частини. Зміст лекції ЩО – перед виїздом на лінію оглядом: чи немає явного скривлення геометричної форми деформації рами або несучої частини кузову; стан ресор відсутні чи поломки листів ресор або зміщення їх наявність хомутів кріплення блоку...
18791. Розрахунок електричної частини ТЕС 1300 МВт 449.34 KB
  Вибір струмопровідних частин 8 Вибір електричних апаратів за номінальними параметрами для решти кіл. Вибір способу синхронізації. Розрахунок релейного захисту для заданого кола. Опис конструкції розподільчого пристрою. Розрахунок захисного заземлення...
3845. Реалізація найпростіших алгоритмів у ЕОМ 61.72 KB
  Згенерувати масив випадкових чисел. Виконати сортування масиву вказаним методом. Обчислити задану характеристику масиву. Вивести вхідні дані і результати роботи на екран. Оформити звіт по лабораторній роботі.
13940. Реалізація норм права 40.42 KB
  Головна тема цієї курсової роботи пов’язана з тим, що створення правової держави передбачає безпосередню повагу до закону, права, додержання та конституційних юридичних норм. В цьому зв’язку проблеми реалізації права набувають особливого практичного значення. Необхідний аналіз право реалізаційної діяльності в різних аспектах, адже шлях від створення закону до втілення його приписів у поведінку людей є дуже складним
6507. Телефонні модеми, реалізація. Стандарти 7.71 KB
  Класифікація модемів: область використання; функціональне призначення; тип каналу; конструктивне виконання; реалізація протоколів модуляції виправлення помилок і стиснення даних; метод передачі синхронний або асинхронний. Область використання: для комутованих телефонних каналів; для виділених арендованих каналів; для фізичних ліній; для цифрових систем передачі; для сотових систем зв’язку; для пакетних радіомереж; для супутникових каналів зв’язку; для локальних радіомереж; для телевізійних кабельних мереж....
21795. Виробництво та реалізація дитячого харчування 498.73 KB
  Значення розвитку підприємств дитячого харчування в Україні обумовлене підвищенням рівня народжуваності в перспективі незадоволеною потребою в продуктах дитячого харчування при зростаючому попиті на них та посиленням інтервенції іноземних виробників. Перспективність та привабливість розвитку підприємств дитячого харчування в Україні зумовлюються соціальною значимістю та...
4497. РОЗРОБКА ТА РЕАЛІЗАЦІЯ АНТИКРИЗОВОГО МЕНЕДЖМЕНТУ НА ВАТ „ЕЛЕКТРОТЕХНОЛОГІЯ” 132.55 KB
  Розглянути теоретико-методологічні аспекти розробки та реалізації антикризового менеджменту на підприємстві; - дати організаційно-економічну характеристику діяльності ВАТ „Електротехнологія” на ринку; - оцінити систему антикризового менеджменту на ВАТ „Електротехнологія”; -. запропонувати комплекс заходів щодо оптимізації антикризового менеджменту на ВАТ „Електротехнологія”.
9699. Реалізація фізичного виховання шляхом використання методу формування свідомості 29.43 KB
  Педагогічні основи фізичного виховання учнів ПТЗ шляхом використання методу формування свідомості. Особливості фізичного виховання учнів ПТНЗ. Переконання як ефективний метод формування свідомості у процесі фізичного виховання учнів ПТНЗ.
13300. Формування та використання видаткової частини бюджетів органів місцевого самоврядування та обґрунтування можливих напрямів вдосконалення сучасної системи видатків місцевих бюджетів 625.37 KB
  Сучасний етап соціально-економічного поступу України потребує посилення ролі органів місцевого самоврядування в комплексному гармонійному розвитку територій. Це зумовлює необхідність пошуку органами місцевого самоврядування дієвих інструментів управління бюджетними коштами регіонів, удосконалення методів використання фінансових ресурсів адміністративно-територіальних утворень, усебічного дослідження суті та структури видатків місцевих бюджетів.
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.