Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_Pascal.doc
Скачиваний:
6
Добавлен:
13.11.2019
Размер:
5.18 Mб
Скачать

13.3Методичні вказівки до виконання роботи.

13.3.1Постановка задачі.

Насамперед необхідно описати вихідну фігуру (навести ескіз) та спосіб її побудови – безпосередньо графічними операторами або найпростішим графічним редактором (в останньому випадку навести вимоги до редактора та перелік керуючих клавіш).

Задача перетворення координат може бути поставлена двома способами. Або вимагається створення чотирьох універсальних підпрограм елементарних перетворень – зсуву, масштабування, симетрії і повороту з нерухомою точкою A(0,0) з наступним їх використанням в певному порядку (при цьому необхідно вивести формули перетворень і описати вхідні і вихідні дані кожної процедури). Або виводяться чотири пари формул перетворення координат для чотирьох вказаних у завданні перетворень із врахуванням заданих координат нерухомої точки (конкретизація формул (1) і (2) для заданого варіанту).

Серед вимог до виведення перетворених фігур необхідно вказати вивід точок масштабованої фігури у вигляді кіл або прямокутників (із виводом формул розрахунку їх параметрів) та вимоги до кольорів виведених фігур.

13.3.2Розробка структури даних.

Особливу увагу треба приділити реалізації суцільного подання розрідженого масиву, який описує вихідну фігуру. Це має бути або масив записів або двомірний масив (наприклад, розміром 400x3), або три (для монохромного дисплею – два) одномірних масиви, зв’язаних по індексу.

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

Формальні параметри і внутрішні змінні процедур описуються окремо.

13.3.3Розробка алгоритму.

Формування масиву координат точок вихідної фігури реалізується вкладеними циклами за координатами x i y заданого зображення (“сканування” зображення). Під час сканування ведеться підрахунок точок зображення.

При використанні підпрограм подальша структура алгоритму буде лінійною, (наприклад: “зсув” – “масштабування” – “зсув” – “виведення”). Кожна з процедур реалізується арифметичним циклом по кількості точок фігури.

При безпосередньому використанні формул перетворень подальший алгоритм матиме вигляд одного циклу за кількістю точок фігури, тіло якого містить таку послідовність операцій: “точкове перетворення 1” – “вивід точки” – “точкове перетворення 2” – “вивід точки” – ... і т.д.

13.3.4Запис тексту програми.

Для визначення кольору піксела використовуються функції: POINT(x,y) – в мові Бейсік; GetPixel(x,y) – в мові Паскаль. Значення обох функцій – цілі невід’ємні. Для виведення точки на екран призначені процедури: PSET (координата _X, координата _Y, колір) – мовою Бейсік; PutPixel (координата X, координата Y, колір) – мовою Паскаль.

13.3.5Налагодження та результати тестування.

Приклади результатів виконання програми наведені на Рис. 13 .A. При налагодженні доцільно вивести на проміжний друк (або у вікно перегляду оболонки Турбо–Паскаль) значення лічильника точок фігури та значення координат відображень. Це дасть можливість перевірити правильність формування початкового масиву координат та відсутність спроби побудови зображення за межами екрану.

Рис. 13.A. Приклад результатів виконання програми.