вторник, 8 декабря 2020 г.

Основні поняття двовимірної графіки

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

!    растрова графіка (bitmap);

!    векторна графіка (vector);

!    фрактальна графіка (fractal)

Найбільш широко в комп'ютерній графіці представлені перші два типи програм: растрові й векторні. Важливо зрозуміти принципові розходження між двома цими типами програмного забезпечення, оскільки кожний з них має свої сильні й слабкі сторони. Растрові зображення складаються з пікселів, розмір яких незмінний у межах усього зображення, а векторнізображення складаються з різних об'єктів (різноманітних ліній і кривих, називаних векторами), розмір яких може варіюватися в широкому діапазоні й залежить тільки від розміру всього зображення. При цьому фізичний розмір піксела визначається тільки дозволом зображення, а сам піксел має один єдиний атрибут – колір. У той же час об'єкт (лінія) поряд з її математичним описом, що визначає її форму, має ще групу атрибутів, серед яких кольори, товщина й стиль (суцільна, пунктирна й т.п.). Крім того, залежно від виду лінії (замкнута, розімкнута) може бути визначений ще атрибут заливання. І хоча атрибутів у такого об'єкта більше (у порівнянні з пікселєм), в результаті для збереження інформації, наприклад, про відрізок лінії, у векторній графіці знадобиться тільки кілька байт пам'яті. У растровому форматі для опису цієї ж лінії треба описати кожен піксел, що їй належить, а їхня кількість прямо пропорційно залежить від фізичного розміру й дозволу зображення.

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

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

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

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

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

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

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

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

Двовимірна, або 2 D-графіка, – основа всієї комп'ютерної графіки (у тому числі й ЗD-графіки). Жоден комп'ютерний художник-дизайнер не може плідно працювати над своїми проектами без розуміння основних принципів двовимірної графіки.

Базові поняття растрової графіки. Растр або растровий масив (англійською мовою bitmap – масив бітів) – це сукупність бітів, які розташовані на сітчастому полі – канві, або таблиця цифрових значень, що кодують колір окремого елемента зображення. Біт – одиниця інформації в комп’ютері (може приймати значення 0 або 1).

В іноземних публікаціях зустрічаються терміни raster graphics і paint – type graphics, що означають теж саме – растрова графіка. Таким чином растрове зображення – це зображення, що складається з окремих елементів фіксованого кольору.

Піксель – окремий елемент растрового зображення.

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

Крапка – окремий елемент зображення, що створюється принтером або фотонабірним автоматом тощо.

Колір пікселя растрового зображення – чорний, білий, сірий або інший зі спектра –- запам’ятовується в комп’ютері за допомогою бітів. Чим більше бітів, тим більше відтінків відтворює екран монітора. Кількість бітів, що використовується для зберігання кольору окремого піксела зображення, зветься бітовою глибиною зображення. Найпростіший вид растрового зображення складається з пікселів, що мають тільки два кольори – чорний і білий. Таке зображення ще називають бітовою картою (bitmap image). На зберігання кольору окремого пікселя потрібен лише 1 біт пам'яті комп'ютера, тому таке зображення має й назву одно-бітове.

Кількість кольорів, що може відображати 1 піксель зображення дорівнює двом у ступені кількості бітів у пікселі. Так, чотири біти інформації дадуть 24 або 16 кольорів, 8 бітів – 28 або 256 кольорів, 24 біти – 16 мільйонів кольорів. Зображення, один піксель якого містить 24 біти називають повно-кольоровими або True Color, тому що цієї кількості достатньо для того, щоб відобразити всі можливі відтінки кольору, що може відокремити людський зір.

Пікселі зображення не мають своїх власних розмірів, вони їх набувають тільки при виведенні на конкретні види обладнання – такі, як монітор або принтер.

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

Роздільна здатність растрового зображення – це кількість пікселів у дюймі (або сантиметрі) зображення. Наприклад, якщо є зображення 72X72 пікселі роздільна здатність растра дорівнює 72 пікселі на дюйм (dpi), то растрове зображення буде мати фізичний розмір 1дюйм2.

Для задання кольору пікселя зображення використовують так звані колірні моделі.

Моделі задання кольору. Без універсальних "мов" кольору редагування і друкування цифрових зображень були б неможливі. Незалежно від того, що лежить в основі, будь-яка колірна модель повинна відповідати конкретним вимогам. Колір у моделі повинний бути визначений стандартним способом, незалежно від можливостей якогось конкретного пристрою. Модель повинна точно визначати гаму чи діапазон кольорів, що задаються (жодна безліч кольорів не є нескінченною). Існує багато різних колірних моделей, але усі вони належать до одного з трьох типів: перцепційні (за сприйняттям), адитивні (засновані на додаванні) і субстрактивні (засновані на вирахуванні). При обробці зображень для пристроїв друку найчастіше мають справи з трьома колірними моделями: CIE – перцепційний колірний простір, RGB – адитивний колірний простір і CMYK – субстрактивний колірний простір.

Для дизайнерів, художників і фотографів основою сприйняття кольору є людське око. Наші очі можуть сприймати світло тільки у вузькому діапазоні довжин електромагнітних хвиль; 

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

Перцепційні колірні моделі – це варіанти першої моделі, розробленої в 1920 році міжнародною комісією CIE (Communication Internationale de L'Eclairage). Колірна модель, розроблена CIE, описує будь-який сприйманий колір координатами тривимірного простору. Одне значення описує яскравість (компонент яскравості кольору, що сам по собі не несе ніякого колірного значення), а інші два відносяться до фактичних кількісних характеристик кольору – кольоровості.

Колір у моделі CIE, як і при візуальному сприйнятті, є апаратно незалежним. Гама колірної моделі CIE ширше, ніж гами моделей RGB і CMYK, і містить їх у собі. Тому в програмному забезпеченні для керування кольором модель CIE використовується як основа для безпечного перетворення кольорів між більш обмеженими гамами пристроїв введення/висновку. Подібні перцепційні колірні моделі, найбільш відомі професіоналам, – це модель YCC, що застосовується для Photo CD, і модель LAB, що використовується в Adobe Photoshop.

Робочі станції Photo CD сканують зображення у форматі RGB, але потім перетворюють їх для збереження в колірну модель, названу YCC, що є варіантом перцепційної колірної моделі CIE. У моделі YCC значення каналу Y – це яскравість, у той час, як два значення каналів С є діапазони кольорів від пурпурного до зеленого і від жовтого до синього відповідно. У колірній моделі LAB канал L керує яскравістю і контрастністю, подібно каналу Y у моделі YCC, а канали А і В керують тими ж діапазонами кольорів, що і канали СС у моделі YCC. Колірна модель RGB є природною "мовою" кольору для електронних пристроїв відображення, таких як монітори комп'ютерів, сканери і цифрові камери.

Наприклад, колір, що ви бачите на моніторах, з'являється в той момент коли електронний промінь ударяє по червоному, зеленому і синьому люмінофорному покриттю екрана, змушуючи його випускати світло в різних комбінаціях у кількості 16 млн. можливих кольорів, якщо адаптер дисплея підтримує 24-бітне відображення кольору (8 біт на кожен колірний канал). Колірна модель RGB називається адитивною колірною моделлю, тому що колір в ній генеруються підсумовуванням світлових потоків. Таким чином, вторинні кольори завжди мають більшу яскравість, порівняно з використовуваними для їхнього утворення основними кольорами – червоним, зеленим і/чи синім. У моделі RGB сума червоного, зеленого і синього кольорів максимальної інтенсивності дає білий колір. Сума рівних значень червоного, зеленого і синього дає нейтральні відтінки сірого кольору, причому, малі яскравості основних кольорів дають більш темні сірі тони, а великі – більш світлі. Значення кольору з кожної колірної складової у графічних редакторах виміряється у відносних одиницях яскравості від 0 до 255.

Якщо відняти один з основних кольорів RGB з білого, то вийде колір, додатковий до червоного, зеленого чи синього. Якщо відняти червоний, то зелений і синій дадуть блакитний колір (cyan); якщо відняти зелений – то червоний і синій дадуть пурпуровий (magenta), а якщо відняти синій, то червоний і зелений дадуть жовтий колір (yellow). Сюрприз! Ми одержали модель CMY, три з чотирьох компонентів моделі CMYK, що є основою поліграфії.

В субстрактивній колірній моделі, такій як CMYK, при змішуванні двох чи більше основних кольорів додаткові кольори виходять як наслідок поглинання одних світлових потоків і відображення інших. Так, блакитна фарба поглинає червоний колір і відбиває зелений й синій; пурпурова фарба поглинає зелений колір і відбиває червоний і синій; а жовта фарба поглинає синій колір і відбиває червоний і зелений. В субстрактивній моделі CMYK світлові потоки віднімаються, генеруючи більш темні кольори. Якщо врахувати світлонепроникність паперу, що скоріше відбиває світло, чим пропускає його, то стає зрозуміло, чому такі яскраві зображення на моніторі стають темними і похмурими у видрукуваній ілюстрації. Працюючи в колірній моделі RGB, варто переглянути зображення в CMYK, щоб точно спрогнозувати і відкоригувати кольори СМУК (звичайно, якщо це можливо у використовуваному пакеті редагування зображень).

Колірні моделі RGB і CMYK є додатковими одна до одної, принаймні, теоретично. Суміш рівних кількостей блакитного, пурпурного і жовтого кольорів дає нейтральні сірі тони; при максимальній яскравості основних кольорів повинний виходити чорний колір (додатковий до білого в колірній моделі RGB). При друкуванні суміш максимально яскравих основних кольорів CMY дає не чорний колір, а брудно-коричневий, і пов'язано це з наявністю домішок у барвникових пігментах і фарбах стандартної якості. Блакитна фарба звичайно має надлишок синього, а пурпурна і жовта – надлишок червоного. В результаті напівтонове сіре зображення, перетворене з RGB у CMY, після друку здобуває червоний чи пурпурний відтінок.

Щоб компенсувати це явище, при друкуванні до основних CMY кольорів додається чорний колір. При перетворенні зображення з RGB у CMYK кількість чорного кольору, що додається, (і тонові діапазони, у які його варто ввести), обчислюється за складним алгоритмом, що визначає, яким чином значення RGB перетворяться в значення CMY. У процесі кольороподілу додавання чорного кольору і домішок пігментів в кольори CMY, відбувається за допомогою алгоритмів кольороподілу, відомих як GCR (gray component replacement – заміна компонентів сірого) і UCR (under color removal – видалення кольорової фарби). У ході перетворення також виконується автоматичне коригування, яке дозволяє врахувати ту обставину, що для одержання нейтрального сірого кольору блакитну складову кольору треба збільшити. Тому при перетворенні цифрового зображення з режиму RGB у CMYK відзначається зрушення кольору до блакитного.

Точне значення зрушення залежить від параметрів програмного забезпечення для кольороподілу, але, звичайно, очікується, що для найясніших сірих тонів значення блакитного буде на 2-3% перевищувати значення пурпурного і жовтого, це перевищення збільшується до 12-15% для середніх тонів сірого (50% сірого) і знову зменшується до 7-10% для більш темних областей. І нарешті, остання проблема, яку слід враховувати при перетворенні в модель CMYK, – колірний простір є залежним від пристрою. Як кожен монітор і сканер відтворюють колір RGB по-іншому, так і кожен тип друкуючого пристрою відтворює колір, що набагато відрізняється від гами CMYK, ось чому калібрування і керування кольором настільки важливі для професіоналів сфери друку, що працюють з кольоровими зображеннями.

Художники і дизайнери для опису кольору традиційно використовують моделі HLS (Hue, Lightness, Saturation – відтінок, освітленість, насиченість і HSB (Hue, Saturation, Brightness – відтінок, насиченість, яскравість) чи HSV (V означає дисперсію). Ці колірні моделі носять інтуїтивний характер (засновані на схемі "барв веселки") і наявні в більшості інструментів вибору кольору. Відтінок у них вимірюється в градусах, що визначають позицію відтінку на колірному колі. Насиченість і яскравість вимірюються у відсотках.

Типи растрових зображень, з якими працюють дизайнери в програмах растрової графіки: штрихові чорно-білі (bitmap) зображення або бітова карта, зображення в градаціях сірого (grayscale), індексовані зображення (index) з обмеженою кількістю кольорів), повнокольорові – RGB, CMYK, Lab – зображення, а також дуплексні зображення, або Duatone.

Роздільна здатність (дозвіл) зображення. Вимірюється у точках на дюйм (dpi - dots per inch) і залежить від вимог до якості зображення та розміру файлу, способу оцифрування або методу створення готового зображення, вибраного формату файлу та інших параметрів. Зрештою, чим вище вимоги до якості, тим більша має бути роздільчість.

Розмір зображення для екранного перегляду. Монітори можуть забезпечити розмір 640х480, 800х600, 1024х768, 1600х1200 і вище. Відстань між сусідніми точками люмінофора в якісному моніторі складає 0,22-0,25 мм. Для екранного зображення (заставка на екрані монітора, Web-сторінка) достатньо дозволу 72 dpi.

Дозвіл друкованого зображення. Розмір точки растрового зображення залежить від застосованого методу та параметрів растрування оригіналу. При раструванні на оригінал накладається сітка ліній, комірки якої утворюють елемент растра. Частота сітки растра вимірюється числом ліній на дюйм (lpi - lines per inch) і називається лініатурою. Розмір точки растра розраховується для кожного елементу і залежить від інтенсивності тону в цій комірці. Якщо у растрі є абсолютно чорний колір, тоді розмір точки растра співпадає з розміром елементу растра (100% заповненість). Для абсолютно білого кольору заповненість складає 0%. На практиці заповненість коливається у межах 3-98%.

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

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

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

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

Глибина кольору. Характеризує максимальне число кольорів, які використані у зображенні. Існує декілька типів зображень із різною глибиною кольору:

!    чорно-білі;

!    у відтінках сірого;

!    з індексованими кольорами;

!    повноколірні;

Чорно-білі зображення. На один піксел зображення відводиться 1 біт інформації - чорний та білий. Глибина кольору - 1 біт.

Зображення у відтінках сірого. Піксел сірого зображення кодується 8 бітами (1 байт). Глибина кольору - 8 біт, піксел може приймати 256 різних значень - від білого (255) до чорного (0 яскравості).

Зображення з індексованими кольорами. Перші кольорові монітори працювали з обмеженою колірною гамою (16, згодом 256 кольорів). Такі кольори називаються індексованими і кодуються 4 або 8 бітами у вигляді колірних таблиць. В такій таблиці всі кольори вже визначені і можна використовувати лише їх.

Повноколірні зображення. Глибина кольору не менше як 24 біти, що дає можливість відтворити понад 16 мільйонів відтінків. Повноколірні зображення називаються True Color (правдивий колір). Бітовий об'єм кожного піксела розподіляється по основних кольорах обраної колірної моделі, по 8 бітів на колір. Колірні складові організуються у вигляді каналів, спільне зображення каналів визначає колір зображення. Повноколірні зображення на відміну від вище розглянутих є багатоканальними і залежать від колірної моделі (RGB, CMY, CMYK, Lab, HBS), які різняться за глибиною кольорів і способом математичного опису кольорів.

Інтенсивність тону (світлота). Поділяється на 256 рівнів. Більше число градацій не сприймається людським оком і є надлишковим. Менша кількість погіршує сприйняття інформації (мінімальним є 150 рівнів). Для відтворення 256 рівнів тону достатньо мати розмір комірки растра 16х16 точок.

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

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

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

!    Adobe - PhotoShop,

!    Corel - PhotoPaint,

!    Macromedia - FireWorks,

!    Fractal Design - Painter,

!    стандартний додаток у Windows - PaintBrush.

!    Програми растрової графіки можуть використовувати:

!    художники-ілюстратори;

!    художники-мультиплікатори;

!    художники-дизайнери;

!    фотографи та ретушери;

!    поліграфісти;

!    web-дизайнери;

воскресенье, 6 декабря 2020 г.

Основні поняття тривимірної графіки

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

У спрощеному вигляді для просторового моделювання об'єкта потрібно:

• спроектувати та створити віртуальний каркас («скелет») об'єкта, найбільш повно відповідає його реальній формі;

• спроектувати і створити віртуальні матеріали, за фізичними властивостями візуалізації схожі на реальні;

• привласнити матеріали різних частин поверхні об'єкта (на професійному жаргоні - «спроектувати текстури на об'єкт»);

• налаштувати фізичні параметри простору, в якому буде діяти об'єкт,

• задати освітлення, гравітацію, властивості атмосфери, властивості взаємодіючих об'єктів і поверхонь;

• задати траєкторії руху об'єктів;

• розрахувати результуючу послідовність кадрів;

• накласти поверхневі ефекти на підсумковий анімаційний ролик.

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

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

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

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

• поверхні з дифузним відображенням без відблисків (наприклад, матовий пластик);

• поверхні зі структурованими мікронерівностями (наприклад, металеві);

• поверхні зі спеціальним розподілом мікронерівностей з урахуванням взаємних перекриттів (наприклад, глянець);

• модель, що дозволяє додатково враховувати поляризацію світла;

• модель, що дозволяє коригувати напрями відображення і параметри заломлення світла.

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

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

• світло, що прийшло із зворотного боку поверхні, тобто переломлений світло;

• світло, рівномірно розсіюється поверхнею;

• дзеркально відбите світло;

• відблиски, тобто відбите світло джерел;

• власне світіння поверхні.

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

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

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

• Аналогом рівномірного світлового фону служить так званий розчинений світло (Ambient Light). Він не має геометричних параметрів і характеризується тільки кольором та інтенсивністю. Приклад в природі - природна освітленість поза видимості Сонця і Місяця.

• Віддалений не точковий джерело званий віддаленим світлом (Distant Light). Йому присвоюються конкретні геометричні параметри (координати). Аналог у природі - сонце.

• Точкове джерело світла (Point Light Source) рівномірно випромінює світло во. всіх напрямках і також має координати. Аналог у техніці - електрична лампочка.

• Спрямований джерело світла (Direct Light Source) крім місця розташування характеризується напрямком світлового потоку, кутами розчину повного конуса світла і його найбільш яскравої плями. Аналог у техніці - прожектор.

Після завершення конструювання та візуалізації об'єкта приступають до його «пожвавлення», тобто завданням параметрів руху. Комп'ютерна анімація базується на ключових кадрах. У першому кадрі об'єкт виставляється у вихідне положення. Через певний проміжок (наприклад, у восьмому кадрі) задається нове положення об'єкту і так далі до кінцевого положення. Проміжні значення обчислює програма за спеціальним алгоритмом. При цьому відбувається не просто лінійна апроксимація, а плавну зміну положення опорних точок об'єкта відповідно до заданих умов.

Ці умови визначаються ієрархією об'єктів (тобто законами їх взаємодії між собою), дозволеними площинами руху, граничними кутами поворотів, величинами прискорень і швидкостей. Такий підхід називають методом інверсної кінематики руху. Він добре працює при моделюванні механічних пристроїв. У випадку з імітацією живих об'єктів використовують так звані скелетні моделі. Тобто, створюється якийсь каркас, рухливий у точках, характерних для модельованого об'єкта. Рухи точок прораховуються попереднім методом. Потім на каркас накладається оболонка, що складається з змодельованих поверхонь, для яких каркас є набором контрольних точок, тобто створюється каркасна модель. Каркасна модель візуалізується накладенням поверхневих текстур з урахуванням умов освітлення. У ході переміщення об'єкта виходить вельми правдоподібна імітація рухів живих істот.

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

Процес розрахунку реалістичних зображень називається рендеринга (візуалізацією). Більшість довременного програм візуалізації засновані на методі зворотного трасування променів (Backway Ray Tracing). Його суть полягає в наступному.

1. З точки спостереження сцени посилається в простір віртуальний промінь, по траєкторії якого повинне прийти зображення в точку спостереження.

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

3. Спочатку прораховується переломлений і відбите світло, потім перевіряється видимість з точки перетину всіх джерел світла та інтенсивність світлового потоку. Також обчислюються наявність, різкість і ширина відблисків від кожного джерела світла.

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

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

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

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


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

 Стиснення зображень

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

·                     групове стиск;

·                     кодування методом Хаффмана;

·                     стискання за схемою LZW;

·                     арифметичне стиснення:

·                     стиснення з втратами;

·                     перетворення кольорів RGB в кольори YUV.

В основі більшості схем стиску лежить використання одного з наступних властивостей графічних даних: надмірність, передбачуваність і необов'язковість. Зокрема, групове кодування (RLE) засновано на використанні першої властивості. Кодування за методом Хаффмана і арифметичне кодування, засновані на статистичній моделі, використовують передбачуваність, пропонуючи більш короткі коди для більш часто зустрічаються пікселів. Алгоритми стискування з втратами засновані на надмірності даних.

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

Розглянемо докладніше кілька алгоритмів стиснення.

Групове стиск

Групове стиснення являє собою одну найпростіших схем стиску файлів. Суть його полягає в тому, що серія повторюваних величин замінюється єдиною величиною і його кількістю. На прикладі можна помітити вигоду в довжині між «aabbbbbbbcdddeeeeaaa» і «2а7 b 1c3d4e3a». Даний алгоритм простий в реалізації і добре стискає графічні файли з великими однотонними областями. Групове кодування використовується в багатьох форматах растрових файлів, таких як TIFF, PCX і т.д.

Кодування методом Хаффмана

Сенс методу Хаффмана полягає в заміні даних ефективнішими кодами. Більш короткі коди використовуються для заміни більш часто з'являються величі. Наприклад у вираженні abbbeceddeeeeeeeeef є шість унікальних величин, з частотами появи: а: 1, b: 3, c: 3, d: 2, e: 9, f: l. Для утворення мінімального коду використовується двійкове дерево. Алгоритм об'єднує в пари елементи, що з'являються найменш часто, потім пара об'єднується в один елемент, а їх частоти об'єднуються. Ця дія повторюється до тих пір, поки елементи не об'єднаються в пари. У даному прикладі треба об'єднати а і f - це перша пара, а присвоюється нульова гілку, af - 1-я. Це означає, що 0 і 1 будуть молодшими бітами кодів для а і f відповідно. Більш старші біти будуть отримані з Дерена у міру його побудови.

Підсумовування частот дає в результаті 2. Тепер найнижча частота - 2, тому пара а і f, об'єднується з d (яка теж має частоту 2). Вихідною парі присвоюється нульова гілку, а d - гілка 1. Таким чином, код для а закінчується на 00; для f на 01, d закінчується на 1 і буде на один біт коротший порівняно з кодами для а і f.

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

Стиснення з втратами JPEG

Алгоритм стиснення JPEG (Joint Photographic Experts Group) (читається ['jei' peg]) дозволяє регулювати співвідношення між ступенем стиснення файлу і якістю зображення. Застосовувані методи стиснення засновані на видаленні «надлишкової» інформації.

Алгоритм стиснення оперує областями 8x8 пікселів, на яких яскравість і колір змінюються порівняно плавно. Внаслідок цього, при розкладанні матриці такої області в подвійний ряд по косинусам значущими виявляються тільки перші коефіцієнти. Таким чином, стиснення у JPEG здійснюється за рахунок плавності зміни кольорів у зображенні. У цілому алгоритм заснований па дискретному косінусоідальное перетворенні, що застосовується до матриці зображення для отримання деякої повой матриці коефіцієнтів. Для отримання вихідного зображення застосовується зворотне перетворення. Алгоритм розкладає зображення по амплітудам деяких частот. Таким чином, при перетворенні ми отримуємо матрицю, в якій багато коефіцієнти або близькі, або рівні нулю. Крім того, завдяки недосконалості людського зору, можна апроксимувати коефіцієнти більш грубо без помітної втрати якості зображення.

Істотними позитивними сторонами алгоритму є те, що:

·                     Задається ступінь стиснення.

·                     Вихідна кольорове зображення може мати 24 біта на точку.

Негативними сторонами алгоритму є те, що:

·                     При підвищенні ступеня стиску зображення розпадається на окремі квадрати (8x8).

·                     Виявляється ефект Гіббса - ореоли по межах різких переходів кольорів.

Формати графічних файлів

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

Коротка інформація про основні графічних форматах файлів приведено в таблиці.

Типи графічних файлів:

Назва

Тип

Використання

Фірма

Розширення

BMP (Windows BitMap)

Растровий

Збереження і відображення інформації у середовищі Windows.

Microsoft

bmp

GIF (Graphics Inter-change Format)

Растровий

Передача даних в мережі Internet

CompuServe Inc.

gif

PNG (Portable Network Graphics)

Растровий

Передача даних в мережі Internet

CompuServe Inc.

png

PCX (PC Paintbrush File Format)

Растровий

У графічних редакторах

Zsoft Corp.

pcx

JPEG (Joint Photographic Experts Group)

Растровий

Для фотографічної інформації

Joint Photographic Experts Group

jpg

TIFF (Tagged Image File Format)

Растровий

Обмін даними між настільними і видавничими системами

Aldus Corp.

tif

DXF (Drawing Interchange Format)

Векторний

Обмін кресленнями і даними САПР

Autodesk nc.

dxf

CDR (Corel Drawing)

Векторний

Креслярська, видавнича та інші види графіки

Corel

cdr

WMF (Windows MetaFile)

Векторний

Збереження і відображення інформації в середовищі Windows

Microsoft

wmf

Розглянемо структуру файлів зображень типу BMP і TIFF, які отримали найбільш широке поширення на практиці.

BMP: Windows Device Independent Bitmap

BMP (апаратно-незалежне побітове зображення Windows) підтримується будь-якими Windows-сумісними програмами. Структура файлу BMP використовується Windows для зберігання растрових зображень. У цьому форматі зберігаються зображення тла, піктограми та інші растрові зображення Windows. Цей формат зводить до мінімуму ймовірність помилок або неправильної інтерпретації растрових даних.

Формат BMP правильно відображає дані незалежно від апаратних і програмних пристроїв (монітора комп'ютера, відеокарти і драйвера дисплея). Така незалежність від пристроїв забезпечується застосуванням системних палітр. Однак даний формат має і свої недоліки. Тільки версії формату з 4 - і 8-бітовим кольором піддаються стисненню (до них можна застосувати метод стиснення RLE), отже, 24-бітові файли BMP будуть дуже великими. Крім того, застосування файлів ВМР обмежено платформою Windows.

JPEG (Joint Photographic Experts Group). Формат призначений для зберігання растрових зображень (розширення імені файлу JPG). Застосовується в основному для зберігання фотографій. При великій мірі стиснення на зображенні з'являються ореоли з навколо елементів з різкими переходами кольору, тому формат не рекомендують використовувати для зберігання схем, графіків, логотипів та ін

GIF (Graphics Interchange Format). Стандартизований в 1987 році як засіб збереження стиснутих зображень з фіксованим (256) кількістю кольорів (розширення імені файлу. GIF). Отримав популярність в Інтернеті завдяки високому ступеню стиснення без втрати якості. Остання версія формату GIF 89 a дозволяє виконувати чересстрочную завантаження зображень і створювати малюнки з прозорим фоном. Обмежені можливості за кількістю кольорів обумовлюють його застосування винятково в електронних публікаціях (схеми, графіки, логотипи, рекламні банери та інші нескладні зображення, що мають різкі переходи в тонах зображення).

PNG (Portable Network Graphics). Порівняно новий (1995 рік) формат зберігання зображень для їх публікації в Інтернеті (розширення імені файла.PNG). Підтримуються три типи зображень - кольорові з глибиною 8 або 24 біти і чорно-біле з градацією 256 відтінків сірого. Стиснення інформації відбувається без втрат якості. Має перевагу перед GIF форматом в більшій глибині кольору. При зберіганні фотографій PNG формат програє формату JPEG у розмірах файлу.

TIFF (Tagget Image File Format). Формат призначений для зберігання растрових зображень високої якості (розширення імені файлу JIF). Відносяться до числа широко розповсюджених, відрізняється переносимістю між платформами (IBM PC та Apple Macintosh), забезпечений підтримкою з боку більшості графічних, верстальний і дизайнерських програм. Формат TIFF зберігає безліч даних зображення в помічених полях, що й визначило його назву («Формат файлу позначеного зображення»). Кожне позначене поле зберігає інформацію про растровому малюнку або посилання на інші поля. Програма, що читає файл, може пропускати невідомі або непотрібні їй поля. Ця багатогранність дозволяє формату знаходити застосування в різних комп'ютерних системах. Крім того, формат TIFF може зберігати різноманітні додаткові дані про растровому малюнку, включаючи: криву корекції для зображення з відтінками сірого; поля детальної інформації про зображення (назва програми, автора, дату створення та коментарі); розмір зображення і роздільну здатність; детальну інформацію про кольорі оригіналу.

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

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

PSD (PhotoShop Document). Власний формат програми Adob Pnotoshop (розширення імені файла.PSD), один з найбільш потужних за можливостями зберігання растрової графічної інформації. Дозволяє запам'ятовувати параметри шарів, каналів, міри прозорості, множини масок. Підтримуються 48-розрядне кодування кольору, кольороподіл і різні колірні моделі. Основний недолік виражений у тому, що відсутність ефективного алгоритму стискання інформації приводить до великого обсягу файлів.

PCX. Формат з'явився як формат зберігання растрових даних програми PC PaintBrush фірми Z-Soft і є одним з найбільш поширених (розширення імені файла.PCX). Відсутність можливості зберігати кольороподілені зображення, недостатність колірних моделей та інші обмеження призвели до втрати популярності формату. В даний час вважається застарілим.

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

EPS (Encapsulated PostScript). Формат опису як векторних, так і растрових зображень на мові PostScript фірми Adobe, фактичному стандарті в області додрукарських процесів і поліграфії (розширення імені файлу. EPS). Так як мова PostScript є універсальним, у файлі можуть одночасно зберігатися векторна і растрова графіка, шрифти, контури обтравки (маски), параметри калібрування обладнання, колірні профілі. Для відображення на екрані векторного вмісту використовується формат WMF, а растрового - TIFF. Але екранна копія тільки в загальних рисах відображає реальне зображення, що є істотним недоліком EPS. Дійсне зображення можна побачити лише на виході вивідного пристрою, за допомогою спеціальних програм перегляду або після перетворення файлу в формат PDFv додатках Acrobat Reader, Acrobat Exchange.

PDF (Portable Document Format). Формат опису документів, розроблений фірмою Adobe (розширення імені файла.PDF). Хоча цей формат в основному призначений для зберігання документа цілком, його вражаючі можливості дозволяють забезпечити ефективне представлення зображень. Формат є апаратно незалежним, тому висновок зображень допустимо на будь-яких пристроях - від екрану монітора до фотоекспонірующего пристрою. Потужний алгоритм стискання з засобами управління підсумковим роздільною здатністю зображення забезпечує компактність файлів при високій якості ілюстрацій.

 

Основні поняття двовимірної графіки

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