Комп'ютерна графіка (також машинна графіка) — галузь діяльності, в якій комп'ютери поряд зі спеціальним програмним забезпеченням використовуються як інструмент як для створення (синтезу) і редагування зображень, так і для оцифрування візуальної інформації, отриманої з реального світу, з метою подальшої її обробки та зберігання.
Історія Перші обчислювальні машини 1940-х років («ABC», 1942, «ЕНІАК», 1946, «EDSAC», 1949, «МЕЛМ», 1950). розроблялися і використовувалися строго для розрахунків і не мали окремих засобів до роботи з графікою. Проте вже тоді деякі ентузіасти намагалися використовувати ЕОМ першого покоління на електронних лампах для отримання та обробки зображень. Програмуючи пам'ять ЕОМ та пристроїв виведення інформації, побудованих на основі матриці електричних ламп, можна було отримувати прості візерунки. Лампи розжарювання включалися і вимикалися в певному порядку, утворюючи зображення різних фігур.
Наприкінці 1940-х і на початку 1950-х років у багатьох комп'ютерах стали застосовуватися електронно-променеві трубки (ЕПТ) у вигляді осцилографів, або трубок Вільямса, які використовувалися як оперативна пам'ять. Теоретично, записуючи 0 або 1 в певному порядку на таку пам'ять, на екрані можна було відобразити певне зображення, але на практиці це не використовувалося. у 1952 році британський інженер Олександр Дуглас (Alexander Shafto «Sandy» Douglas) написав жартівливу програму " OXO " (хрестики-нулики) для програмованого комп'ютера EDSAC (1949 р.), що стала в історії першою комп'ютерною грою. Зображення ґрат та нуликів з хрестиками будувалося шляхом програмування трубки Вільямса або промальовувалося на сусідньому ЕПТ.
У 1950-х роках обчислювальні можливості комп'ютерів та графічні можливості периферійних пристроїв не дозволяли отримати високу деталізацію, але давали змогу здійснити посимвольне виведення зображень на екрани моніторів та типових принтерів. Зображення будувалися з алфавітно-цифрових символів (символьна графіка, пізніше прийшла назва ASCII-графіка та ASCII-Art). Принцип простий: різниця у щільності алфавітно-цифрових знаків та нездатність людського зору розрізняти деталі з відстані дозволили створювати на комп'ютері малюнки та псевдографічні об'єкти. Подібні зображення на папері створювали друкарки на друкарських машинках наприкінці XIX століття.
У 1950 році ентузіаст Бенджамін Лапоскі (Ben Laposky), математик, художник і кресляр, почав експериментувати з екраном осцилографа, будуючи складні динамічні фігури — осциліони. Танець світла створювався найскладнішими налаштуваннями на цьому електронно-променевому приладі. Для відображення зображень використовувалися високошвидкісна фотографія та спеціальні об'єктиви, пізніше були додані пігментовані фільтри, що наповнювали знімки кольором.
У 1951 році у військовому комп'ютері Whirlwind-I (укр. мовою «Вихор», «ураган»), вбудованому пізніше в систему SAGE протиповітряної оборони США, вперше був застосований монітор як засіб відображення візуальної та графічної інформації.
У 1955 році в лабораторії Массачусетського технологічного інституту (MIT) винайдено світлове перо (Light pen). Це світлочутливий пристрій для введення в комп'ютер. В основі його — стилус, який використовується для вибору тексту, малювання зображень та взаємодії з елементами інтерфейсу користувача на екрані комп'ютера або монітора. Перо добре працює тільки з ЕПТ (CRT)-моніторами, оскільки вони сканують екран попіксельно, що дає комп'ютеру спосіб відслідковувати очікуваний час сканування електронним променем і визначати положення пера на основі останньої мітки часу сканування. На кінчику пера знаходиться фотоелемент, що випускає електронний імпульси і одночасно реагує на пікове свічення, що відповідає моменту проходу електронного променя. Достатньо синхронізувати та зіставити імпульс із положенням електронної гармати, щоб визначити, куди саме вказує перо.
В обчислювальних терміналах 1960-х років широко використовувалося світлове перо. З появою в 1990-х роках рідкокристалічних моніторів воно практично вийшло зі вжитку, тому що з екранами цих пристроїв робота світлового пера стала неможливою.
В 1957 році інженер Рассел Кірш (Russell A. Kirsch) з Національного бюро стандартів США винайшов для комп'ютера SEAC перший сканер і отримав на ньому перше цифрове зображення — скан-фото свого сина Волдена (анг. Walden).
У 1960-ті роки розпочався реальний розквіт комп'ютерної графіки. З приходом нових високопродуктивних за тими мірками комп'ютерів на транзисторах з моніторами (2-е покоління ЕОМ) і потім на мікросхемах (3-е покоління ЕОМ) машинна графіка стала не лише сферою ентузіастів, але серйозним науково-практичним напрямом розвитку комп'ютерних технологій. З'явилися перші суперкомп'ютери (CDC 6600 і Cray-1), що дозволили працювати не тільки зі швидкими обчисленнями, а й з комп'ютерною графікою на новому рівні.
У 1960 році інженер-дизайнер Вільям Феттер (William Fetter) з авіабудівної корпорації Боїнг (англ. Boeing) вперше ввів термін комп'ютерна графіка. Малюючи дизайн кабіни пілотів літака на робочому комп'ютері, він вирішив у такий спосіб описати в технічній документації рід своєї діяльності. у 1964 р. ульям Феттер створив на комп'ютері також дротяну графічну модель людини під назвою «людина Боїнга», вона ж «перша людина», використану пізніше в телерекламі 70-х років.
У 1962 році програміст Стів Рассел (Steve Russell) з МТІ на комп'ютері DEC PDP-1 розробив окрему програму з графікою — комп'ютерну гру " Spacewar! ". Створення її зайняло близько 200 людино-годин. Гра використовувала джойстик і мала цікаву фізику з симпатичною графікою. Однак першою комп'ютерною грою, але без графіки, можна вважати програму Олександра Дугласа «OXO» («Хрестики-нулики», 1952).
У 1963 році на основі комп'ютера «TX-2» американський інженер-програміст з МТІ, піонер комп'ютерної графіки Айвен Сазерленд (Ivan Edward Sutherland) створив програмно-апаратний комплекс Sketchpad, що дозволяв малювати крапки, лінії та кола на трубці світловим пером. Підтримувалися базові дії з примітивами: переміщення, копіювання та ін. По суті, це був перший векторний редактор, що став прообразом сучасних САПР (систем автоматизованого проєктування та розрахунку), таких, як AutoCAD або Компас-3D. Також цю програму можна вважати першим графічним інтерфейсом, що вийшов за 10 років до Xerox Alto (1973), раніше появи самого терміну. у 1968 р. Айвеном Сазерлендом був створений прообраз першого комп'ютерного шолома віртуальної реальності, названий «Дамокловим мечем» за аналогією з давньогрецькою легендою.
У середині 1960-х років виникли розробки у промислових додатках комп'ютерної графіки. Так, під проводом Т. Мофетта та М. Тейлора фірма Itek (Itek Corporation) розробила цифрову електронну креслярську машину (графобудівник).
У 1963 році програміст з Bell Labs Едвард Зейджек (Edward E. Zajac) розробив першу комп'ютерну анімацію — рух супутника навколо Землі. Анімація демонструвала теоретичний супутник, який використовував гіроскопи підтримки своєї орієнтації щодо Землі. Вся комп'ютерна обробка була виконана на комп'ютерах серій IBM 7090 або 7094 з використанням програми ORBIT.
У наступні роки виходять й інші, складніші і значні анімації: «Tesseract» («Тесеракт», він же «Гіперкуб», 1965).) Майкла Нолла з " Bell Labs ", «Hummingbird» («Колібрі», 1967.) Чарльза Цурі і Джеймса Шаферса, «Кішечка» (1968 р.).) Миколи Константинова, «Metadata» («Метадані», 1971 р.).) Пітера Фолдерса тощо.
У 1964 випущений IBM 2250, перший комерційний графічний термінал для мейнфрейму IBM/360.
У 1964 року компанія General Motors разом із IBM представляє систему автоматизованого проєктування DAC-1.
У 1967 році професор Дуглас Енгельбарт (Douglas Carl Engelbart) конструює першу комп'ютерну мишу (покажчик XY-координат) і показує її можливості на виставці в Сан-Франциско у 1968 році.
У 1967 році співробітник IBM Артур Аппель описує алгоритм видалення невидимих ребер (у тому числі частково прихованих), пізніше названий променевим кастингом, відправною точкою сучасної 3D-графіки та фотореалізму.
В 1968 в СРСР групою під керівництвом Н. Н. Константинова створена комп'ютерна модель імітації руху кішки. Машина БЭСМ-4, виконуючи написану програму розв'язання диференціальних рівнянь, друкувала на принтері мультфільм « Кішечка „“Кошечка » / Математические этюды — на думку радянських вчених — прорив для свого часу. Аналогічні алгоритми динаміки руху були перевідкриті на заході лише у 80-х роках. Для візуалізації використовувався алфавітно-цифровий принтер.
У 70-х роках з'являються перші кольорові монітори та кольорова графіка — новий ривок у розвитку комп'ютерної графіки. Суперкомп'ютери з кольоровими дисплеями стали використовуватися для створення спецефектів у кіно (фантастична епопея 1977 року). «Зоряні війни» режисера Джорджа Лукаса, фантастичний жахастик «Чужий» кіностудії XX Century Fox та режисера Рідлі Скотта, пізніше недооцінений науково-фантастичний фільм 1982 року «Трон» студії Walt Disney та режисера Стівена Лісбергера). У цей період комп'ютери стали ще більше швидкодіючими, їх навчили малювати 3D-зображення, виникла тривимірна графіка і новий напрямок візуалізації — фрактальна графіка. З'явилися персональні комп'ютери з графічними інтерфейсами, що використовують комп'ютерну мишу (Xerox Alto, 1973).
У 1971 році математик Анрі Гуро, в 1972 році Джим Блінн і в 1973 Буй Туонг Фонг розробляють моделі затінювання, що дозволяють графіку вийти за рамки площини і точно відобразити глибину сцени. Джим Блінн став новатором у сфері впровадження карт рельєфу, техніки моделювання нерівних поверхонь, а алгоритм Фонга згодом став основним у сучасних комп'ютерних іграх.
У 1972 році піонер комп'ютерної графіки Едвін Катмулл (Edwin Catmull) створює перше 3D-зображення — дротяну та текстуровану модель власної лівої руки.
У 1973 році з'являється перший комп'ютер із повністю графічним інтерфейсом — Xerox Alto.
У 1975 році французький математик Бенуа Мандельброт (Benoit B. Mandelbrot), програмуючи комп'ютер моделі IBM, будує на ньому зображення результатів обчислення комплексної математичної формули (множина Мандельброта), і в результаті аналізу отриманих повторюваних закономірностей дає красивим зображенням назву «фрактал» (з лат. дробовий, розбитий). Виникає фрактальна геометрія та новий перспективний напрямок у комп'ютерній графіці — фрактальна графіка.
Наприкінці 1970-х років, з появою персональних комп'ютерів 4-го покоління — на мікропроцесорах, графіка з промислових систем переходить на робочі місця та в будинки простих користувачів. Зароджується індустрія відеоігор та комп'ютерних ігор. Першим масовим персональним комп'ютером із кольоровою графікою став ПК Apple II (1977 р.).
У 1980-х роках, з розвитком персональних комп'ютерів графіка стає більш деталізованою (підвищується роздільна здатність зображень і розширюється колірна палітра). Виходить безліч моделей домашніх комп'ютерів, що використовуються насамперед для комп'ютерних ігор, тому більшість із них мають графічний режим. З'являються комп'ютери IBM PC (1981 рік), з відеокартами MDA, CGA, EGA, VGA, SVGA. Розроблено перші стандарти файлових графічних форматів, наприклад GIF (1987). Випускаються системи комп'ютерної графіки та графічні робочі станції, виникає графічне моделювання.
Поточний стан
Основні галузі застосування Наукова графіка — перші комп'ютери використовувалися лише для вирішення наукових та виробничих завдань. Щоб краще зрозуміти отримані результати, проводилася їхня графічна обробка, будувалися графіки, діаграми, креслення розрахованих конструкцій. Перші графіки на машині виходили в режимі символьного друку. Потім з'явилися спеціальні пристрої — графобудівники (плотери) для креслення креслень та графіків чорнильним пером на папері. Сучасна наукова комп'ютерна графіка дозволяє проводити обчислювальні експерименти з наочним представленням їх результатів.