МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ПОБУДОВА ГРАФІКІВ ФУНКЦІЙ В СЕРЕДОВИЩІ MICROSOFT VISUAL STUDIO C++ 2008
Інструкція до лабораторної роботи № 2 з курсу «Програмування комп’ютерної графіки»
Мета роботи - набути практичних навиків в складанні програм для побудови графіків в середовищі Microsoft Visual Studio C++ 2008.
1. КОРОТКІ ТЕОРЕТИЧНІ ДАНІ
Графіки, гістограми, діаграми тощо призначені для візуалізації (полегшення сприйняття людиною) числових результатів обробки інформації. При використанні комп’ютера в інженерних та наукових дослідженнях появі зображення на екрані монітора передують складні математичні розрахунки, які виконуються, як правило, в системі координат об'єкту дослідження. Така система координат називається реальною. Зображення, яке візуапізує на екрані результати розрахунків, формується в машинних координатах, характер яких визначається режимом роботи відеоадаптера.
Тому для адекватного відображення числових результатів на екрані необхідно для кожної прикладної задачі розробити чіткий алгоритм приведення реальних координат об’єкту дослідження до машинних координат. Зокрема, визначити відображення центру реальних координат на екрані в машинних координатах та функціональні залежності для розрахунку машинних координат.
о
Хмаїи
Рис. 1. Побудова графіка на екрані монітора
При побудові графіків для приведення реальних координат до машинних в загальному випадку (рис. 1) використовують наступні вирази:
де Хмаш , YMaul - поточні машинні координати точки в пікселях ;
X„aui> Y°au," відображення центру реальних координат на екрані в машинних
координатах ;
Хреальн .Уреальн - поточні реальні координати точки ; кх, ку - коефіцієнти перетворення .
Коефіцієнти перетворення в загальному випадку розраховують за наступними співвідношеннями:
(3)
. (4)
Отже, для побудови графіка довільної функції можна скористатися наступним алгоритмом:
Протабулювати задану функцію на проміжку зміни аргументу з метою визначення максимального та мінімального значень функції.
Визначити значення коефіцієнтів перетворення для стискання (у випадку, якщо максимальні значення функції або аргументу перевищують допустиму роздільну здатність монітора) або розширення діапазони! значень функції і аргументу для нормального візуального сприйняття заданої функції на екрані монітора. Наприклад, діапазон зміни значень функції синус від -1 до 1. Якщо не ввести коефіцієнт розтягу то на екрані монітора при побудові графіка функції одержимо пряму лінію. Домноживши значення Y на ку = 100, одержимо функцію синуса в звичному для нас вигляді.
Побудувати графік функції, з’єднуючи за допомогою попередньо обраховані значення координат точки функції з наступними.
Здійснити розмітку осей через певні проміжки табулювання для X та Y.
2. ЗАВДАННЯ
2.1. ДОМАШНЯ ПІДГОТОВКА ДО РОБОТИ
1. Ознайомитися з методами побудови графіків функцій на екрані монітора комп’ютера.
2. Вивчити основні функції бібліотеки GDI для виведення тексту в графічному режимі.
3. Написати програму, яка будує в середині екрану систему координат XY і на ній графік функції Y=F(X), якщо аргумент або параметр змінюється на проміжку [а;Ь] з кроком h. Варіанти завдань беруть з таблиці 1 за вказівкою викладача.
2.2 РОБОТА В ЛАБОРАТОРІЇ
1. Ввести в комп'ютер програму, написану на мові C++ згідно з отриманим завданням.
2. Здійснити відлагодження введеної програми, виправивши виявлені компілятором помилки.
3. Виконати програму. Текст відлагодженої програми та отримані результати оформити в звіт з лабораторної роботи.
3. ЗМІСТ ЗВІТУ
1. Повний текст завдання.
2. Блок-схему алгоритму програми.
3. Список ідентифікаторів констант, змінних, процедур і функцій, використаних в програмі, та їх пояснення.
4. Остаточно відлагоджений текст програми згідно з отриманим завданням.
5. Результати виконання програми.
4. СПИСОК ЛІТЕРАТУРИ
Паузрс Л., Снелл М. Microsoft Visual Studio 2008. - СПб.: БХВ-Петербург, 2009.1200 с.
Гилберт С., Маккарти Б. Самоучитель Visual C++ 6 в примерах. - К.: Издательство «Диасофт»,2000.496с.
Секунов Н.Ю. Самоучитель Visual C++ 6. - СПб.: БХВ - Санкт-Пегербург, 2000.960 с.
Холзнер С. Visual C++ 6: учебньїй курс. - СПб.: Питер, 2001. - 576 с.