- •Перелік скорочень та визначень
- •Розділ і. Теоретичні відомості
- •1.1. Поняття навігації та навігаційної системи. Види нс.
- •1.2. Астрономічні методи навігації.
- •1.3. Радіотехнічні методи навігації.
- •1.4. Сучасні супутникові навігаційні системи.
- •1.5. Візуальні методи навігації.
- •1.6. Метод обчислення координат об'єкту з допомогою фотографування опорних точок.
- •1.7. Математичний опис технології.
- •1.6. Постановка задачі.
- •Розділ іі. Алгоритмізація
- •2.1. Основний алгоритм роботи програми.
- •2.2. Алгоритм математичних розрахунків.
- •Розділ ііі. Кодування
- •3.1. Створення проекту та розташування елементів інтерфейсу програми.
- •3.2. Кодування основної частини програми.
- •3.3. Кодування виводу координатної системи.
- •Розділ іv. Тестування
- •Висновки
- •Список використаної літератури
- •Додатки Додаток а. Файл реалізації aTriangulationDlg.Cpp
- •Додаток б. Файл реалізації Win2Dlg.Cpp
1.6. Постановка задачі.
Написати програму, яка з допомогою фотографій опорних точок (деяких об'єктів), координати яких відомі, визначить положення спостерігача. Програма повинна мати віконний інтерфейс.
Вхідними банними програми повинні бути: кут огляду камери, розміри координатної системи, масив координат опорних точок, індекси опорних точок та відповідні до них зображення (фотографії) для поточного вимірювання.
Результатом роботи будуть координати X та Y положення спостерігача (фотокамери) у той момент часу, коли були зроблені фотографії, що використовувались для вимірювань. Також, для наочності, у іншому вікні необхідно побудувати зменшену координатну систему, опорні точки на ній, та положення користувача відповідно до результатів роботи програми.
Розділ іі. Алгоритмізація
2.1. Основний алгоритм роботи програми.
Для вирішення поставленої задачі необхідно розробити програму відповідно до математичних розрахунків та поставленим вимогам. Також необхідно забезпечити програмну розробку необхідними елементами управління для взаємодії з користувачем.
Для перевірки роботи програми необхідно деяку місцевість представити у вигляді системи координат, наприклад, кімнату приміщення. Отримавши навігаційну систему координат, потрібно відмітити на ній опорні пункти (деякі нерухомі, легко помітні об'єкти).
Щоб забезпечити правильне функціонування програми потрібні фотографії, зроблені з допомогою фотокамери, кут огляду якої заздалегідь відомий. До процесу фотографування та до самих фотографій є декілька вимог:
на одній фотографії повинні бути зображені три опорні точки;
якщо сфотографувати відразу 3 опорні точки неможливо, то необхідно зробити 2 фотографії, на яких буде зображено по 2 опорні точки, одна з яких обов'язково має бути спільною;
під час фотографування, камера повинна бути чітко зафіксована, особливо, якщо для визначення положення необхідно зробити 2 фотографії.
якщо для визначення положення використовуються 2 зображення, то вони обов'язково повинні бути зроблені з однієї фотокамери та з однаковою роздільною здатністю.
Кут огляду фотокамери, розміри системи координат та масив координат опорних точок програма повинна зчитувати з файлу та зберігати у пам'яті до завершення її роботи.
Фотографії, та індекси опорних точок, що на них зображені, користувач буде завантажувати з допомогою користувацького інтерфейсу програми. Основний алгоритм роботи програми представлений у блок-схемі (Рис. 2.1).
Р ис. 2.1. Блок-схема основного алгоритму роботи програми.
2.2. Алгоритм математичних розрахунків.
Даний алгоритм являє собою окрему функцію, яка є однією з ланок основного алгоритму. Функція виконує основні математичні обчислення, без яких програма не зможе виконувати поставлені задачі (Рис. 2.2).
Р ис. 2.2. Алгоритм математичних обчислень.
Розділ ііі. Кодування
3.1. Створення проекту та розташування елементів інтерфейсу програми.
Для написання програми була використана мова C++ та середа розробки Microsoft Visual Studio 2008 Professional.
Програма працюватиме у віконному режимі та матиме декілька вікон, отже необхідно створити проект MFC (Microsoft Foundation Classes).
Для цього необхідно виконати File->New->Project, далі у діалоговому вікні
New Project вибрати тип проекту MFC Application, та ввести ім'я та шлях до директорії проекту.
Натиснувши кнопку “OK” відкриється ще одне діалогове вікно. У ньому потрібно вибрати необхідні компоненти для програми. Щоб продовжити роботу, треба натиснути кнопку “Next >”. Відкриється діалог налаштування типу програми Application Type. Тепер необхідно виставити значення згідно з таблицею (Таблиця 3.1). Параметри, не вказані у таблиці залишаємо без зміни.
Таблиця 3.1.
Назва параметру |
Значення |
Application Type |
Dialog based |
Resource Language |
Русский (Россия) |
Project Style |
MFC standard |
Use of MFC |
Use MFC in a static library |
Use Unicode libraries |
No |
Далі необхідно налаштувати користувацький інтерфейс програми. Для цього необхідно перейти до наступного діалогу мастера MFC Application Wizard, натиснувши “Next >”. Залишимо для програми System Menu та About Box.
Тепер можна завершити роботу мастера натиснувши кнопку Finish.
Виконавши попередню послідовність дій, була створена найпростіша віконна програма. Скомпілювавши та запустивши програму ми побачимо звичайне вікно з двома кнопками та написом TODO: Place dialog controls here.
Елементи користувацького інтерфейсу розташовуються відповідно до рисунку (Рис. 3.1). Розмір вікна підбирається таким чином, щоб у нього повністю вмістилось зображення з роздільною здатністю 640х480.
Список основних елементів та їх призначення представлені у таблиці
(Таблиця 3.2).
Рис.3.1. Вид головного вікна програми.
Таблиця 3.2.
-
Ідентифікатор
Призначення елементу
IDC_STATIC1
Вивід координати Х
IDC_STATIC2
Вивід координати Y
IDC_EDIT1
Ввід індексу першої опорної точки
IDC_EDIT2
Ввід індексу другої опорної точки
IDC_BUTTON1
Початок вимірювань кута
IDC_BUTTON2
Показ другого вікна програми
IDOK
Завантаження зображення
IDCANCEL
Скинути вікно до початкового вигляду