- •Лабораторний практикум
- •Міністерство освіти і науки україни національний університет “львівська політехніка” лабораторний практикум з дисципліни
- •0. Методичні вказівки до оформлення звітів з лабораторних робіт 6
- •1. Лабораторна робота №1
- •Передмова.
- •0.Методичні вказівки до оформлення звітів з лабораторних робіт
- •Розділ і. Базові структури алгоритмів.
- •1.Лабораторна робота №1
- •1.1Перелік питань, які необхідно вивчити.
- •1.2Завдання.
- •1.3Методичні вказівки до виконання роботи № 1.
- •1.4Приклад виконання завдання.
- •1.4.1Постановка задачі.
- •1.4.2Розробка структури даних.
- •1.4.7Висновки.
- •2.Лабораторна робота №2
- •2.1Перелік питань, які необхідно вивчити.
- •2.2Завдання.
- •2.3Приклад виконання завдання.
- •2.3.1Постановка задачі.
- •2.3.2Розробка структури даних.
- •2.3.3Розробка блок-схеми алгоритму.
- •2.3.4Перевірка блок-схеми.
- •2.3.5Запис тексту програми.
- •3.1.2Виведення даних.
- •3.2Завдання.
- •3.3Методичні вказівки до лабораторної роботи.
- •3.3.1Постановка задачі.
- •3.3.2Розробка структури даних.
- •3.3.3Розробка алгоритму.
- •3.3.4Розробка програми.
- •Розділ іі. Використання числових і символьних змінних
- •4.3Методичні вказівки до роботи.
- •4.3.1Методи переведення в двійкову систему числення.
- •4.3.1.1Метод ділення.
- •4.3.1.2Метод віднімання.
- •4.3.1.3Метод маскування або логічного множення.
- •5.Лабораторна робота №5.
- •5.1Теоретичні відомості.
- •5.1.1Відомості з математики.
- •5.1.2Відомості з програмування.
- •5.2Завдання.
- •Розділ ііі. Циклічні алгоритми
- •6.Лабораторна робота №6
- •6.1Перелік питань, які необхідно вивчити для виконання роботи.
- •6.2Завдання.
- •6.3Приклад виконання завдання.
- •6.3.1Постановка задачі.
- •6.3.2Розробка структури даних.
- •6.3.3Розробка алгоритму
- •6.3.4Текст програми.
- •7.3Приклад виконання завдання.
- •7.3.1Постановка задачі.
- •7.3.2Розробка структури даних.
- •7.3.3Розробка алгоритму
- •7.3.4Текст програми мовою Pascal.
- •8.3Методичні вказівки до виконання роботи.
- •8.3.1Постановка задачі.
- •8.3.2Розробка структури даних.
- •8.3.3Розробка алгоритму.
- •Розділ іv. Обробка і використання масивів
- •9.3Приклад виконання завдання.
- •9.3.1Постановка задачі.
- •9.3.2Розробка структури даних.
- •9.3.3Розробка алгоритму.
- •9.3.4Запис тексту програми.
- •11.1.2Програмна реалізація розріджених масивів.
- •11.1.3Метод Гауса обчислення визначника матриці довільного розміру n*n.
- •11.2Завдання.
- •11.3Приклад алгоритму обчислення детермінанту.
- •Розділ V. Методи комп’ютерної графіки
- •12.Лабораторна робота №12.
- •12.1Теоретична частина
- •12.1.1Відомості з програмування.
- •12.1.2Перелік питань, які необхідно вивчити для виконання роботи.
- •12.2Завдання до лабораторної роботи.
- •12.3Методичні вказівки до виконання роботи
- •13.Лабораторна робота №13.
- •13.1Теоретична частина.
- •13.1.1Числовий опис зображення.
- •13.1.2Перетворення координат точки при її відображеннях.
- •13.1.3Питання, які необхідно вивчити.
- •13.2Завдання.
- •13.3Методичні вказівки до виконання роботи.
- •13.3.1Постановка задачі.
- •13.3.2Розробка структури даних.
- •13.3.3Розробка алгоритму.
- •13.3.4Запис тексту програми.
- •13.3.5Налагодження та результати тестування.
- •14.Лабораторна робота №14
- •14.1Перелік питань, які необхідно вивчити для виконання роботи.
- •14.2Теоретичні відомості.
- •14.3Завдання до лабораторної роботи.
- •Розділ VI. Деякі математичні методи
- •15.Лабораторна робота №15
- •15.1Теоретична частина.
- •15.1.1Основні статистичні характеристики.
- •15.1.2Гістограма розподілу числових даних.
- •15.1.3Питання, які необхідно вивчити для виконання роботи.
- •15.2Завдання.
- •16.2Завдання.
- •16.3Методичні вказівки до виконання роботи.
- •16.3.1Постановка задачі.
- •16.3.2Розробка структури даних.
- •16.3.3Розробка алгоритму.
- •16.3.4Написання тексту програми.
- •17.1.2Системи диференційних рівнянь.
- •17.1.3Форми подання результатів.
- •17.1.4Питання, які необхідно вивчити.
- •17.2Завдання.
- •17.3Методичні вказівки до виконання роботи.
- •17.3.1Постановка задачі.
- •17.3.2Розробка структури даних.
- •17.3.3Розробка алгоритму.
- •17.3.4Написання тексту програми.
- •17.3.5НАлагодження і тестування.
- •Список літератури.
13.Лабораторна робота №13.
Точкові перетворення зображень у комп’ютерній графіці
13.1Теоретична частина.
13.1.1Числовий опис зображення.
Оскільки зображення на екрані монітора є двомірним і дискретним (тобто складається з окремих точок-пікселів), то природною формою опису зображень є двомірний масив чисел, елементи якого містять код яскравості і кольору піксела, а індекси визначають місце піксела на екрані. Для телевізійного або художнього зображення описаний спосіб подання є мало не єдиним. Але при описі технічного рисунку або креслення вказаний масив чисел, очевидно, буде розрідженим: переважна більшість його елементів міститиме те ж саме значення кольору – колір фону. Ці елементи називаються незначущими. Розріджений масив більш економно подавати таким набором даних: масивом триплетів, кожний елемент якого містить дві координати і яскравість (колір) значущого елементу, лічильником значущих елементів і дискриптором незначущих елементів (колір фону). При використанні монохромного дисплею і так званого “бінарного” опісу зображення відпадає необхідність зберігання значень кольорів точок зображення і фону – вони дорівнюють відповідно одиниці (піксел світиться) і нулю (піксел не світиться).
13.1.2Перетворення координат точки при її відображеннях.
Оскільки довільна фігура складається зі скінченої кількості точок, то для відображення фігури достатньо здійснити відповідну кількість відображень точок фігури.
Найпростішим відображенням точки є зсув її у площині на фіксовану відстань вздовж осей X i Y. Координати відображення (xN, yN) розраховуються з координат початкової точки (x,y) за формулою:
(xN,yN)=(x+n,y+m), (1)
де n i m – зсув вздовж горизонтальної і вертикальної осей відповідно.
В загальному вигляді перетворення координат точки А на площині можна описати матричним рівнянням
AN=A*T, (2)
де A=(x,y), AN=(xN,yN)
– матриці координат початкової точки
та її відображення,
–
матриця перетворення.
Перетворення (2) інваріантне відносно початку координат, тобто точка (0,0) є нерухомою (відображується сама в себе), і тому не може описувати паралельний зсув. Але для інших відображень матрична форма запису зручніша для використання і запам’ятовування. Нижче подані матриці перетворень для деяких типових відображень.
Симетрія відносно
осі X:
;
Симетрія відносно
осі Y:
;
Cиметрія відносно
початку координат:
;
Масштабування вздовж
осей:
;
Оберт проти годинникової стрілки на кут відносно початку координат:
.
Оскільки додатній напрямок екранної координати Y спрямований до низу, а не вгору як в аналітичній геометрії, останнє перетворення описує оберт за годинниковою стрілкою.
Якщо необхідно, щоб при перетвореннях нерухомою точкою був не початок координат, а точка Ao=(xo,yo), наприклад, поворот навколо точки Ao, то застосовується така послідовність перетворень:
перенoс нерухомої точки в початок координат, тобто паралельний зсув на величину (–xo,–yo);
одне з типових відображень;
повернення в початкову точку, тобто паралельний зсув на величину (xo,yo).
