Історія розвитку комп’ютерної графіки. 12 група 2015 рік

Матеріал з Вікі ЦДУ
Версія від 10:44, 20 березня 2015; Андрусик Сергій (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

Поняття комп’ютерної графіки

Визначним досягненням людства в останні десятиріччя є швидкий розвиток електроніки, обчислювальної техніки та створення на їхній основі багатопланової автоматизованої системи комп'ютерної графіки.

На початку свого розвитку комп'ютерну графіку розглядали як частину системного програмування для ЕОМ або один з розділів систем автоматизованого проектування (САПР). Сучасна комп'ютерна графіка становить ряд напрямів і різноманітних застосувань. Для одних із них основою є автоматизація креслення технічної документації, для інших – проблеми оперативної взаємодії людини й комп'ютера, а також задачі числової обробки, розшифрування та передачі зображень.

Однією з основних підсистем САПР, що забезпечує комплексне виконання проектних робіт на основі ЕОМ, є комп'ютерна графіка (КГ).

Комп'ютерною, або машинною, графікою називають наукову дисципліну, яка розробляє сукупність засобів та прийомів автоматизації кодування, обробки й декодування графічної інформації. Іншими словами, комп'ютерна графіка розробляє сукупність технічних, програмних, інформаційних засобів і методів зв'язку користувача з ЕОМ на рівні зорових образів для розв'язання різноманітних задач при виконанні конструкторської та технічної підготовки виробництва.

Вивчення комп'ютерної графіки зумовлене:

- широким впровадженням системи комп'ютерної графіки для забезпечення систем автоматизованого проектування, автоматизованих систем конструювання (АСК) та автоматизованих систем технологічної підготовки виробництва (АСТПВ) в усіх сферах інженерної діяльності;

- значним обсягом перероблюваної геометричної інформації, що становить 60 .80 % загального обсягу інформації, необхідної для проектування, конструювання та виробництва літаків, кораблів, автомобілів, складних архітектурних споруд тощо;

- необхідністю автоматизації виконання численних креслярсько-графічних робіт;

- необхідністю підвищення продуктивності та якості інженерної праці.

Мета науки - розробка формальних способів побудови двох-, трьох-, а також багатовимірних наочних зображень, максимально реалістичних або максимально точних з точки зору спостерігача. Наука тісно пов'язана з геометрією, психологією, математикою, моделюванням, комп'ютерним програмуванням. Метою комп'ютерної графіки також є підвищення продуктивності інженерної праці та якості проектів, зниження вартості проектних робіт, скорочення термінів виконання їх.

Завданням комп'ютерної графіки є звільнення людини від виконання трудомістких графічних операцій, які можна формалізувати, вироблення оптимальних рішень, забезпечення природного зв'язку людини з ЕОМ на рівні графічних зображень.

Сучасна комп'ютерна графіка - це досить складна, ґрунтовно пропрацьована і різноманітна науково-технічна дисципліна. Деякі її розділи, такі як геометричні перетворення, способи опису кривих і поверхонь, до теперішнього часу вже досліджені досить повно. Ряд областей продовжує активно розвиватися: методи растрового сканування, видалення невидимих ліній і поверхонь, моделювання кольору і освітленості, текстурування, створення ефекту прозорості і напівпрозорості та ін.

Історія

Перші обчислювальні машини не мали окремих засобів для роботи з графікою, але використовувалися для отримання і обробки зображень. Програмуючи пам'ять перших електронних машин, побудовану на основі матриці ламп, можна було отримувати візерунки.

У 1961 році програміст С. Рассел очолив проект зі створення першої комп'ютерної гри з графікою. Створення гри («Spacewar!») тривало приблизно 200 людино- годин. Гра була створена на машині PDP-1.

У 1963 році американський вчений Айвен Сазерленд створив програмно-апаратний комплекс Sketchpad, який дозволяв малювати крапки, лінії і кола на трубці цифровим пером. Підтримувалися базові дії з примітивами: переміщення, копіювання та ін. По суті, це був перший векторний редактор, реалізований на комп'ютері. Також програму можна назвати першим графічним інтерфейсом, причому вона була такою ще до появи самого терміна.

У середині 1960-х рр. з'явилися розробки в промислових додатках комп'ютерної графіки. Так, під керівництвом Т. Мофетта і Н. Тейлора фірма Itek розробила цифрову електронну креслярську машину. У 1964 році General Motors представила систему автоматизованого проектування DAC-1, розроблену спільно з IBM.

У 1964 році групою під керівництвом Н. Н. Константинова була створена комп'ютерна математична модель руху кішки. Машина БЕСМ-4, виконуючи написану програму рішення диференційних рівнянь, малювала мультфільм «Кішечка», який для свого часу був проривом. Для візуалізації використовувався алфавітно-цифровий принтер.

У 1968 році суттєвий прогрес комп'ютерна графіка зазнала з появою можливості запам'ятовувати зображення і виводити їх на комп'ютерному дисплеї, електронно- променевій трубці.

Основні види комп’ютерної графіки:

Растрова графіка

Основним елементом растрового зображення є точка (крапка). Якщо зображення екранне, то ця точка називається пікселем. Залежно від того, на яку графічну розподільчу здатність екрану налаштована операційна система комп'ютера, на екрані можуть розміщуватись зображення, які мають 640х480, 800х600, 1024х768 і більше пікселів.

Клубничка.jpg

З розміром зображення безпосередньо пов'язана його роздільна здатність. Цей параметр вимірюється в точках на дюйм (англ. dots per inch, dpi). У монітора з діагоналлю 15 дюймів розмір зображення на екрані становить приблизно 28х21 см. Знаючи, що в одному дюймі 25,4 мм, можна розрахувати, що при роботі монітора в режимі 800х600 пікселів роздільна здатність екранного зображення 72 dpi.

При друці розподільча здатність має бути набагато вище. Поліграфічний друк повноколірного зображення вимагає роздільної здатності 200–300 dpi. Стандартний фотознімок 10х15 см повинен мати приблизно 1000х1500 пікселів. Таке зображення буде мати 1,5 млн точок, а якщо зображення кольорове і на координування кожної точки використано три байти, то звичайній фотографії відповідатиме масив даних розміром понад 4 Мбайт.

Великий обсяг даних — основна проблема при використанні растрових зображень. Для активних робіт з великими ілюстраціями типу журнальної шпальти потрібні комп'ютери з великими обсягами оперативної пам'яті (128 Мбайт і більше) і високопродуктивними процесорами.

Другий недолік растрових зображень пов'язаний з неможливістю розглянути деталі. Оскільки зображення складається із точок, то збільшення зображення призводить до того, що ці точки стають крупніші. Ніяких деталей при збільшенні растрового зображення роздивитись не вдається. Більше того, збільшення точок растру візуально спотворює ілюстрацію і робить її грубою. Цей ефект називається пікселізацією.

Векторна графіка

У векторній графіці основним елементом зображення є лінія. В растровій графіці також існують лінії, але там вони розглядаються як комбінації точок. Відповідно, чим довша растрова лінія, тим більше пам'яті вона потребує. У векторній графіці обсяг пам'яті, для зберігання лінії, не залежить від розміру лінії, оскільки лінія представляється у вигляді формули, а точніше, у вигляді кількох параметрів. Що б ми не робили з цією лінією, міняються тільки її параметри, які зберігаються в чарунках пам'яті. Кількість чарунків залишається незмінною для будь-якої лінії.

Лінія — елементарний об'єкт векторної графіки. Все, що є у векторній ілюстрації, складається з ліній. Найпростіші об'єкти об'єднуються в складніші, наприклад, чотирикутник можна розглядати як чотири взаємопов'язані лінії, а куб як дванадцять взаємопов'язаних ліній, або як шість чотирикутників. Через такий підхід векторну графіку часто називають об'єктно-орієнтованою графікою.

Cupcoffee.jpg

Як усі об'єкти, лінії мають властивості. До цих властивостей належать: форма лінії, її товщина, колір, характер лінії (суцільна, пунктирна тощо). Замкнуті лінії мають властивість заповнення. Внутрішня область замкнутого контуру може бути заповнена кольором, текстурою, картою (заготовлені растрові зображення).

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

У векторній графіці достатньо складні композиції мають невеликий обсяг. Питання масштабування вирішуються також легко. При необхідності зображення можна збільшувати до найдрібніших деталей.

Фрактальна графіка

864743.jpg

Фрактальна графіка обраховується як векторна, але відрізняється тим, що жодних об'єктів у пам'яті комп'ютера не зберігається. Зображення будується за рівнянням (або за системою рівнянь), тому нічого, крім формули, зберігати не потрібно. Змінивши коефіцієнти у рівнянні, отримують зовсім іншу картину.

Найпростішим фрактальним об'єктом є фрактальний трикутник. Фрактальними властивостями володіють багато об'єктів живої і неживої природи. Звичайна сніжинка при збільшенні виявляється фрактальним об'єктом. Фрактальні алгоритми лежать в основі росту кристалів і рослин.

Властивість фрактальної графіки моделювати образи живої природи обчисленням часто використовують для автоматичної генерації незвичних ілюстрацій

Тривимірна графіка

Тривимірна графіка (3D — від англ. Three dimensions — «три виміри») оперує з об'єктами в тривимірному просторі. Зазвичай результати являють собою плоску картинку, проекцію. Тривимірна комп'ютерна графіка широко використовується в кіно, комп'ютерних іграх.

1318764038 u3013 5791 45856-1600x1200.jpg

У тривимірній комп'ютерній графіці всі об'єкти зазвичай є набором поверхонь або часток. Мінімальну поверхню називають полігоном. Як полігон зазвичай обирають трикутники.

Усіма візуальними перетвореннями в 3D-графіці управляють матриці. У комп'ютерній графіці використовується три види матриць:

  • матриця повороту
  • матриця зсуву
  • матриця масштабування

Будь який полігон можна представити у вигляді набору з координат його вершин. Так, у трикутника буде 3 вершини. Координати кожної вершини є вектором (x, y, z). Помноживши вектор на відповідну матрицю, ми отримаємо новий вектор. Зробивши таке перетворення з усіма вершинами полігону, отримаємо новий полігон, а перетворивши всі полігони, отримаємо новий об'єкт, повернений / зрушений /масштабуваний відносно початкового/