Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
Національний університет «Львівська політехніка»
Інститут комп’ютерних наук та інформаційних технологій
Кафедра САПР
Звіт з виконання
Лабораторна робота №2
на тему:
АФІННІ ПЕРЕТВОРЕННЯ ТА АНІМАЦІЯ ЗАСОБАМИ МОВИ TURBO PASCAL ВЕРСІЇ 7.0
з курсу:
«Геометричне моделювання у конструюванні інженерних об’єктів і систем»
Львів 2010
Мета роботи
Ознайомитись із законами руху геометричних об’єктів на площині та у просторі. Оволодіти математичною мовою опису динаміки та візуалізації на основі закономірностей геометричних перетворень. Набути практичних навиків розробки графічних процедур у середовищі Turbo Pascal в графічному режимі.
Теоретичні відомості
Афінні перетворення.
Афінні перетворення (від англ. Affinity – подібність) – точкові взаємно однозначні відображення площини (простору) на себе, при яких прямі переходять у прямі. Якщо на площині задана Декартові система координат, то кожне афінне перетворення цієї площини може бути визначене за допомогою так званого не виродженого лінійного перетворення координат x та y точок цієї площини.
Загальний вид формул двовимірних афінних перетворень:
,
з додатковою вимогою
,
де x, y – координати початкового об’єкту , - координати перетвореного об’єкта.
Коефіцієнти перетворень зберігаються у вигляді матриці, розширеної до квадратної:
, при цьому дуже просто обчислюються коефіцієнти довільного складного перетворення, якщо відомі коефіцієнти перетворень, його складових. Для цього просто перемножують відповідні матриці коефіцієнтів.
Аналогічно, кожне афінний простір може бути визначений за допомогою не вироджених лінійних перетворень координат точок простору. Сукупність усіх афінних перетворень площини (простору) на себе утворить групу афінних перетворень. Це означає, зокрема, що послідовне проведення двох афінних перетворень еквівалентно деякому одному афінному перетворенню.
Афінне перетворення має наступні властивості:
1. Відображає - мірний об’єкт у - мірний – точку в точку, лінію в лінію, поверхню у поверхню;
2. Зберігає паралельність ліній та плоскостей;
3. Зберігає пропорції паралельних об’єктів – довжин відрізків на паралельних прямих та площин на паралельних площинах.
Ці властивості дозволяють будувати прообрази полігонів на площині та поліедрів у просторів на кінцевому набору . точок їх вершин.
Прийоми створення динамічних графічних образів.
Найбільш простий метод моделювання об’єкта, що рухається, складається в багаторазовому його перемальовуванні зі зсувом координат – на поточному кроці по поточним координатах об’єкт малюється, запам’ятовуються старі та визначаються нові координати, задається затримка (її величина визначає швидкість об’єкта). Потім проходить малювання кольором по старих координатах і повторення процесу на наступному кроці.
Цей метод застосуємо для виводу не занадто складних об’єктів невеликого розміру, прорисовувати які можна досить швидко. До того ж колір у всій обрості руху повинний бути тим самим.
Лабораторне завдання
Ознайомитись з графічними командами мови Turbo Pascal.
Створити алгоритм розв’язку індивідуального завдання.
Скласти програму на мові Pascal, набрати у текстовому редакторі інтегрованого середовища.
Записати створену програму на диск.
Запустити на виконання програму.
Отримати результати виконання програми згідно індивідуального завдання.
Здійснити аналіз результатів та сформувати висновки по роботі.
Оформити результати по роботі.
Індивідуальне завдання
Варіант №1
Написати імітаційну програму з застосуванням афінних перетворень, яка дозволяє в автоматичному режимі та при ручному куруванні створювати динамічно змінну візуалізацію при якій крапки (випадкового початкового положення та кольорів) яскравих кольорів направити до однієї з границь екрана, інші – до протилежної границі.
Висновок
На цій лабораторній роботі, я ознайомився з графічними можливостями мови Turbo Pascal версії 7.0. Вивчив графічні функції та процедури програмного середовища Turbo Pascal, набув практичних навиків розробки графічних процедур у середовищі Turbo Pascal в текстовому та графічному режимах. Написав програму на мові програмування Pascal, згідно індивідуального завдання. Переконався, що вона працює і виводить коректний результат. Привів у звіті результати виконання програми.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!