
- •1.Загальний розділ
- •Графічні бібліотеки для роботи з 3d графікою
- •Gd Graphics Library
- •1.2 Структура сценаріїв для 3d графіки
- •1.2.2 JavaScript
- •1.3 Інструменти
- •1.3.1 Денвер
- •1.3.3 MonoDevelop
- •2 Розробка технічного та робочого проекту
- •2.1 Аналіз серидовища програмування Unity
- •2.2.1Мова програмування с#
- •3 Розрахунковий розділ
- •3.1 Скриптування та аналіз об’єктів програми
- •3.2 Тестування та виправлення помилок
- •4. Економічний розділ
- •4.1. Визначення трудомісткості розробки програмного продукту
- •4.2. Визначення ціни програмного продукту
- •4.3 Економічна частина супутніх результатів
- •4.4. Економічні висновки
- •5. Охорона праці та безпека життєдіяльності
- •Висновки
- •Література
- •Джейсон, Прайс; Майк, Гандэрлой Visual c#.Net. Полное руководство; корона принт, 2012. - 960 c.
- •3.Дэвид Флэнаган. JavaScript. Подробное руководство. Символ-Плюс 2009, 204с.
1.Загальний розділ
Графічні бібліотеки для роботи з 3d графікою
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 з будь-якої мови програмування при використанні командного рядка.
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 - багатоплатформовий текстовий редактор