понедельник, 7 декабря 2020 г.

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

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

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

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

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

 

У 1950 році Бенджамін Лапоскі (Ben Laposky), математик, художник і кресляр, почав експериментувати з малюванням на осцилографі. Танець світла створювався складними налаштуваннями на цьому електронно-променевому приладі. Для фіксації зображень застосовувалися високошвидкісна фотографія і особливі об'єктиви, пізніше були додані пігментовані фільтри, що наповнювали знімки кольором.

У 1952 році з'явилася перша наочна комп'ютерна гра – OXO, або хрестики-нулики, розроблена Олександром Дугласом (Alexander Douglas) для комп'ютера EDSAC в рамках кандидатської дисертації як приклад взаємодії людини з машиною. Введення даних здійснювався дисковим номеронабирачем, вивід виконувався матричною електронно-променевою трубкою.

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

У 1957 році для комп'ютера SEAC зразка 1950-го року при Національному бюро стандартів США команда під керівництвом Расселла Кершо (Russell Kirsch) розробила барабанний сканер, за допомогою якого була отримана перша в світі цифрова фотографія. Зображення, на якому зображений тримісячний син вченого, вийшла розміром 5×5 см в роздільній здатності 176×176 точок. Комп'ютер самостійно виділив контури, порахував об'єкти, розпізнав символи і відобразив цифрове зображення на екрані осцилографа.


У 1958 році в Массачусетському технологічному інституті (МТІ) запущений комп'ютер Lincoln TX-2, котрий вперше використовує графічну консоль. З цього моменту комп'ютерна графіка знаходить своє вираження на принципово новому технічному пристрої – векторному дисплеї.

Приблизно в цей же час Джон Вітні (John Whitney), піонер комп'ютерної мультиплікації, експериментував з механічним аналоговим комп'ютером, створеним ним же самим з приладу управління зенітним вогнем. Результатом спільної роботи з дизайнером Солом Бассом (Saul Bass) стала спірографічна заставка до фільму "Запаморочення" Альфреда Хічкока зразка 1958 року.

Вважається, що термін "комп'ютерна графіка" придумав в 1960 році Вільям Феттер (William Fetter), дизайнер з Boeing Aircraft, хоча сам він стверджує, ніби авторство належить його колезі Верну Хадсону (Verne Hudson). На той момент виникла потреба в засобах опису будови людського тіла, причому одночасно з високою точністю і в придатному для зміни вигляді. Для вирішення поставленого завдання комп'ютерна графіка підходила ідеально.

У 1963 році Айвен Сазерленд (Ivan Sutherland), інший учень МТІ, написав для TX-2 комп'ютерну програму "Альбом" (Sketchpad). Вона, на той момент по праву революційна, дала машинній графіці величезний поштовх вперед, стала прообразом для систем автоматизованого проектування (САПР), вперше описала елементи сучасного інтерфейсу користувача і об'єктно орієнтованих мов програмування.

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

Ще одним важливим винаходом "Альбому" були інструменти автоматичного малювання геометричних фігур: достатньо вказати розташування і розміри, наприклад, квадрата, щоб він був намальований – піклуватися про точні прямі кути не доводилося.

У 1967 році на базі Університету Юти організований дослідницький центр комп'ютерної графіки світового масштабу, який буквально відразу ж, у 1968-му, відокремився в самостійну компанію Evans & Sutherland. Її сформували нам вже відомий Айвен Сазерленд і Девід Еванс (David Evans), і вона ретельно вивчає аспекти візуальної взаємодії комп'ютера з людиною.

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

Так, серед тих, що приєдналися, виявилися Едвін Кетмелл (Edwin Catmull), який зрозумів, що мультиплікацію слід перекласти на плечі комп'ютерів, Джон Уорнок (John Warnock), співзасновник Adobe Systems і розробник концепції революційної у видавничій справі мови опису сторінок PostScript, Джеймс Кларк (James Clark ), який спільно заснував Silicon Graphics і Netscape Communications.

У 1968 році в СРСР знятий мультфільм "Кішечка", що став першим, в якому з'явився анімований комп'ютером персонаж. Група фахівців під керівництвом математика Миколи Константинова звернулася до обчислювальної машини БЕСМ-4, яка з достатнім ступенем реалізму моделювала рух кішки через систему диференціальних рівнянь другого порядку. Кожен кадр виводився на принтер, потім всі вони були об'єднані в стрічку.

Технічний прогрес не встигав за зростаючими потребами галузі, і тому гостро постало питання про оптимізацію графічних алгоритмів.

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

Задовго до цього схожі проблеми тяжіли і над іншими галузями. Так, французький автоконцерн "Рено" попросив П'єра Безьє (Pierre Bézier), математика та інженера, розробити спосіб максимально простого і узагальненого опису будь-яких складних площинних форм, потрібних для автоматизації роботи машин по обробці листового металу. Придумана ним в 1962 році дійсно геніальна система кривих виявилася настільки вдалою, що згодом лягла в основу не тільки графічних, але і багатьох інших програм.

По правді кажучи, криві Безьє з'явилися в 1959 році, коли до них прийшов математик і фізик Поль де Кастельжо (Paul de Casteljau), який працював на "Сітроен", але у вільному доступі це відкриття не з'являлося, будучи виробничою таємницею фірми.

Взагалі ж криві Безьє є окремим випадком многочленів, описаних радянським математиком Сергієм Бернштейном в далекому 1912 році і створених в ході доведення оптимізаційної теореми Вейерштрасса.

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

Ось чому було логічним створення в 1971 році алгоритму промальовування плавних тіней за авторством Анрі Гуро (Henri Gouraud), математика з Університету Юти, який навчався у Айвена Сазерленда.

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

Якщо коротко, алгоритм затінення методом Гуро, або колірної інтерполяції, проходить три етапи. Спочатку будується нормаль до кожної вершині багатокутника, на які розбита вся поверхня об'єкта. Потім до кожної вершини застосовується обрана модель освітлення, щоб визначити її інтенсивність. Нарешті, остання білінійно інтерполюється на всю поверхню багатокутника.

В 1973 році Буй Тіонг Фонг (Bui Tuong Phong), виходець з Університету Юти, розробляє власну техніку затінення об'єктів. На відміну від алгоритму Гуро, затінення по Фонгу, або апроксимація Фонга, інтерполює кожну нормаль.

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

У 1972 році Буй Фонг, Роберт Макдермотт (Robert McDermott), Джеймс Кларк (James Clark) і Рафаель Ром (Raphael Rom) спільними зусиллями під керівництвом Айвена Сазерленда створили згенероване комп'ютерною графікою тривимірне зображення, яке вперше в історії виглядало точно так, як його фізичний оригінал – "Фольксваген-жук" (Volkswagen Beetle).

 

Влітку 1974 року в Боулдері (шт. Колорадо) на базі Асоціації з обчислювальної техніки США (Association for Computing Machinery, ACM) в рамках Спеціальної групи з комп'ютерної графіки (Special Interest Group in Computer Graphics, SIGGRAPH) відбулася перша тематична конференція.

На SIGGRAPH 1975 року відбувалась демонстрація об'єкта, якому судилося стати "іконою" комп'ютерної графіки. Ним виявився... звичайний чайник для заварювання, тривимірне зображення якого створено Мартіном Ньюеллом (Martin Newell) з Університету Юти.

У 1974 році Едвін Кетмелл публікує кандидатську дисертацію "Алгоритм моделювання піідрозбиттів при створенні вигнутих поверхонь на екрані комп'ютера", в якій розбирає такі фундаментальні питання, як накладення текстури, бікубічні фрагменти і Z-буфер. Ці по праву проривні речі перевели комп'ютерну графіку на абсолютно новий рівень реалізму.

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

Під Z-буферізацією розуміється метод видалення схованих поверхонь для додання об'єктам об'ємності і реалістичності. Кожен виведений піксель забезпечується не тільки координатами по осі абсцис (X) і ординат (Y), але і аплікат (Z). Останні відповідають за показник віддаленості елемента від переднього плану. Якщо пікселі двох об'єктів перекриваються, то малюється той, який, виходячи з карти глибини, розташований ближче.

Значним кроком в моделюванні навколишнього світу на комп'ютері стала робота "Фрактальні об'єкти: форма, випадковість і розмірність" (Les objets fractals: Forme, hasard et dimension), видана в 1977 році математиком Бенуа Мандельброт (Benoit Mandelbrot) з Дослідницького центру IBM.

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

Втім, тільки книга "Фрактальна геометрія природи" (The Fractal Geometry of Nature), що з'явилася в 1982 році, наділила фрактали неймовірною популярністю. Згідно з журналом "Американ сайентіст", книга увійшла в дюжину найважливіших наукових монографій двадцятого століття, в список яких також включені роботи Ейнштейна, Дірака, Фейнмана.

У 1978 Джеймс Блінн (James Blinn) розробляє техніку реалістичної візуалізації тривимірних об'єктів, принципово схожу з придуманим Кетмеллом накладенням текстур, – рельєфне текстурування. Пізніше методика, покликана моделювати нерівності, була доопрацьована до так званої карти оточення, що враховує не тільки властивості поверхонь, але і те середовище, в якій вони знаходяться.

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

4 комментария:

  1. Гарний блог!Який формат зоображення найркащий?

    ОтветитьУдалить
  2. Все чітко і ясно. На вашу думку, чи буде розвиватися далі комп'ютерна графіка?)

    ОтветитьУдалить
  3. Думаю да, адже комп'ютерна графіка має величезний потенціал.

    ОтветитьУдалить

Формати збереження та стиснення комп'ютерної графіки

   Стиснення зображень Як і многая інформація, графіка може бути стиснута. Це нигодіо з точки іронія економії пам'яті комп'ютера, та...