• В Беларуси
  • Наука
  • Интернет и связь
  • Гаджеты
  • Игры
  • Оружие
  • Архив новостей
    ПНВТСРЧТПТСБВС


Юрий Стрельченко,

Продолжаем наш ретроспективный экскурс в волшебный мир изображений, графики и анимации, созданных при самом непосредственном участии компьютеров. Местами мы будем выбиваться из заданной хронологии и осознанно не рассказывать о кое-каких вещах — задачей ставится лишь легкое погружение в тему.

Краткая история компьютерной графики. Часть первая

1970-е годы: время алгоритмов

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

Те же телевизионные компании были бы счастливы заполучить простые и удобные инструменты для работы с отсканированными изображениями, которые можно видоизменять на экране телевизора, тем самым привлекая аудиторию всевозможными спецэффектами. Увы, ресурсная ёмкость существующей компьютерной базы не позволяла в приемлемые сроки решать поставленные задачи.

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

Придуманная им в 1962 году действительно гениальная система кривых оказалась настолько удачной, что впоследствии легла в основу не только графических, но и многих других программ.


Кривые Безье, квадратичная и кубическая. В компьютерной графике, анимации, системах автоматизированного проектирования и при разработке шрифтов кривые Безье занимают чуть ли не самое главное место, когда требуется смоделировать гладкие линии. Подробнейшее изложение теории кривых Безье с интерактивными примерами доступно здесь.
Иллюстрация: Wikimedia.

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

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


Поверхности Безье как пространственное обобщение одноименных кривых. Слон Гумбо Эда Кэтмелла собран из сплайнов методом кусочного моделирования.
Иллюстрация: Wikimedia.

Не вдаваясь в скучные подробности, суть этой невероятно полезной штуки можно описать иносказательно. Итак, кривые Безье строятся по нескольким опорным точкам.

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





Кривые Безье четвертого и пятого порядков.
Иллюстрация: Wikimedia.


В ходе построения графических объектов на экранах компьютеров возникла необходимость их максимального приближения к фотореалистичному исполнению, дабы плоское изображение казалось трехмерным.

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

Революционная для своего времени методика плавно изменяла цвет объекта или поверхности в трехмерной сцене в зависимости от углов падения световых лучей и расстояний до их источников.


Первое в мире изображение, применившее затенение по Гуро, или цветовую интерполяцию.
Иллюстрация: Университет Юты.



Айвен Сазерленд, наставник Анри Гуро, вначале не усмотрел значимости алгоритма затенения, но затем, построив модель самолета, понял его перспективность.
Иллюстрация: Университет Юты.


Если кратко, алгоритм затенения методом Гуро, или цветовой интерполяции, проходит три этапа. Вначале строится нормаль к каждой вершине многоугольника, на которые разбита вся поверхность объекта.

Затем к каждой вершине применяется выбранная модель освещения, чтобы определить ее интенсивность. Наконец, последняя билинейно интерполируется на всю поверхность многоугольника.



Анри Гуро был первым, кто продемонстрировал трехмерную модель человеческого лица в компьютерной графике. Образцом выступила его жена Сильвия.
Иллюстрация: Wikimedia.


Между тем цветовая плавность, реализованная затенением Гуро, далеко не всегда предотвращает появление различий в освещении между смежными полигонами.

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

Пусть этот подход в сотню раз медленнее (из-за операций вычисления двух квадратных корней, двух делений и четырех умножений для каждого пикселя), зато с его помощью освещение получается более реалистичным.


Сравнение затенений: равномерное, или "плоское", по Гуро, по Фонгу.
Иллюстрация: Лаборатория компьютерной графики при Нью-Йоркском технологическом институте.


Важнейшим двигателем развития компьютерной графики следует считать появление в 1971 году микропроцессора — 4-разрядного Intel 4004. Его создание резко снизило стоимость машинного времени, что привлекло к цифровому рисованию множество талантливых людей.


Процессор Intel 4004, работающий на тактовой частоте 92,6 кГц. Именно эта крошка ответственна за новейшую эру вычислений.
Иллюстрация: Wikimedia.


Новация заключалась в том, что 4004 стал первым коммерчески (sic!) доступным миниатюрным компьютером общего назначения, который можно было запрограммировать на выполнение любых вычислительных задач.

Для этого он сочетал четыре элемента: центральный процессор, чип памяти с произвольной выборкой (RAM) для хранения программ заказчика, чип постоянной памяти (ROM) для хранения встроенных подпрограмм, чип для обеспечения ввода-вывода.


"Новая эра в интегральной электронике" — под таким заголовком вышла рекламная статья в ноябрьском выпуске журнала Electronic News за 1971 год. Гордон Мур, сооснователь Intel, словно предвидя будущий успех, назвал микропроцессор "одним из самых революционных продуктов в истории человечества".
Иллюстрация: 4004.com.


Производительность 4004, который умещался в спичечном коробке, была сравнима с мощностью ENIAC, первой ЭВМ на электровакуумных лампах, запущенной в строй в 1946 году, весившей 27 тонн и занимавшей целую комнату.

Конечно, к 1971 году появились более современные машины на интегральных схемах, но именно 4004 характеризовался оптимальным сочетанием цены и производительности.


На современные деньги покупка ENIAC обошлась бы в 6 млн долларов, тогда как первого процессора Intel — в 1,2 тыс. долларов.
Иллюстрация: Wikimedia.


Впрочем, на тот момент Intel, прежде работавшая исключительно с полупроводниковой памятью, не могла предвидеть, что полностью переключится на микропроцессоры, причем мощность последних будет удваиваться каждые пару лет, а компьютеры будут стоять на столе у всех. И правда: в 1970 году во всем мире было продано только 20 тыс. ЭВМ.

Последующие микропроцессоры — 4040, 8008, 8080, 8085 и 8086 — методично выпускались Intel, но только 8088, появившийся 1 июня 1979 года прославил компанию: на его базе был построен IBM PC, дебютировавший 12 августа 1981 года и положивший начало новой эре персональных компьютеров.


IBM PC — самый важный компьютер в истории человечества. Сейчас бы он стоил 4 тыс. долларов.
Иллюстрация: Wikimedia.


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


Одна из "икон" компьютерной графики.
Иллюстрация: Университет Юты.



Автомобиль, взятый у Марши, жены Айвена, пришлось вручную разбивать на полигоны, координаты которых затем вводились в графический редактор Sketchpad.
Иллюстрация: Университет Юты.


Уже известный нам Эд Кэтмелл, выросший на мультипликации "Диснея", и сам был не прочь стать аниматором, но судьба сложилась так, что он пришел к этому через компьютерную графику. Увиденные возможности графического редактора Sketchpad Сазерленда его настолько восхитили, что была поставлена главная цель — сделать фильм, целиком анимированный компьютером.

В 1972 году он совместно с Фредом Парком (Fred Parke) в рамках последипломного курса в Университете Юты подготовил компьютерный видеоролик, демонстрирующий цифровую объемную модель левой руки.

Видеоряд, в котором ладонь вращается, сгибает пальцы, указывает на зрителя и, наконец, погружает вовнутрь, стал одним из первых примеров в истории трехмерной компьютерной анимации.



В 2011 году фильм был отобран для хранения в Национальном кинореестре Библиотеки Конгресса США как культурно, исторически и эстетически значимый.


Гипсовая модель левой руки Эда Кэтмелла.
Иллюстрация: Университет Юты.


Вначале пришлось создать гипсовую копию руки, затем покрыть ее сетью нарисованных мелких треугольников и многоугольников числом где-то 350, а далее ввести координаты углов всех полигонов в компьютер.

Оборудование дисплея, кстати, не было в состоянии вывести целиком всё изображение, вот почему для того чтобы убедиться в корректности картинки, Кэтмелл брал фотоаппарат и снимал на длинной выдержке экран, на котором циклично вращалась модель руки.


В 1976 году на экраны вышел триллер "Мир будущего" (Futureworld), ставший благодаря "руке Кэтмелла" первым, где использовалась компьютерная анимация.

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

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


На протяжении двух десятков лет программисты обращались к чайнику Ньюелла, как исходному объекту, для изучения подходов к освещению, затенению и цветопередаче в целях добавления глубины и реализма.
Иллюстрация: Университет Юты.



Чтобы воплотить чайник в виде цифрового объекта, пришлось нарисовать его на миллиметровке.
Иллюстрация: Университет Юты.



В наши дни чайник Ньюелла, как культовый физический объект, хранится в Музее компьютерной истории в Маунтин-Вью, Калифорния.
Иллюстрация: Flickr/Marshall Astor.


В 1974 году Эд Кэтмелл публикует кандидатскую диссертацию "Алгоритм моделирования подразбиений при создании изогнутых поверхностей на экране компьютера", в которой разбирает такие фундаментальные вопросы, как наложение текстуры, бикубические фрагменты и Z-буфер. Эти по праву прорывные штуки перевели компьютерную графику на совершенно новый уровень реализма.

Мысль о текстурировании пришла в голову ученого, когда он, сидя в машине на парковке Университета, беседовал с другим студентом, Лэнсом Уияльмсом (Lance Williams), обсуждая создание трехмерного замка.

Большинство предметов окружающего мира характеризуются богатыми и детализированными поверхностями, значит, вполне возможно наложить двумерное изображение последних, например камня, дивана или деревянной столешницы, на трехмерный компьютерный объект. Уместно провести параллель с тем, как если бы вы приклеивали цветные обои на голую стену.


Текстурирование чайника.
Иллюстрация: примеры из диссертации Кэтмелла.


Бикубические фрагменты выступают математической моделью для представления криволинейных поверхностей, позволяющей сделать объект более гладким, чем сетка многоугольников со всеми их углами.

Под Z-буферизацией понимается метод удаления скрытых поверхностей для придания объектам объемности и реалистичности. Каждый выводимый пиксель снабжается не только координатами по оси абсцисс (X) и ординат (Y), но и аппликат (Z). Последние отвечают за показатель удаленности элемента от переднего плана. Если пиксели двух объектов перекрываются, то рисуется тот, который, исходя из карты глубины, расположен ближе.


Простая трехмерная сцена и ее отображение в Z-буфере.
Иллюстрация: Wikimedia.


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

Двадцать лет исследований позволили доктору Мандельброту создать фрактальную геометрию, которая описывает природные формы невероятно изящно и точно — не в пример привычной евклидовой. Фракталы помогают моделировать такие комплексные естественные объекты, как горы, побережья, облака, кроны деревьев, снежинки и т.п.


Бенуа Мандельброт, профессор многих дисциплин, гениально переложил неописуемые природные явления на строгий закон математики.
Иллюстрация: IBM.


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


Отдельная проекция множества Мандельброта.
Иллюстрация: Wikimedia.


Бенуа Мандельброт писал: "Почему геометрию часто называют „холодной“ и „сухой“? Одна из причин заключается в её неспособности описать форму облака, горы, дерева или берега моря. Облака — это не сферы, горы — не конусы, линии берега — не окружности, и кора не является гладкой, и молния не распространяется по прямой <…> Природа демонстрирует нам не просто более высокую степень, а совсем иной уровень сложности.

Математики <…> предпочли всё больше и больше отдаляться от природы, изобретая теории, которые не соответствуют ничему из того, что можно увидеть или почувствовать… Красота многих фракталов тем более поразительна, что открылась совершенно неожиданно: мы хотели построить (с чисто учебной целью) всего лишь математические диаграммы, и можно было ожидать, что они окажутся сухими и скучными <…> Трудно найти человека, равнодушного к фракталам.

Многие считают, что знакомство с фрактальной геометрией подарило им совершенно неповторимые эстетические впечатления и обогатило новым научным опытом. В этом смысле фракталы, безусловно, оригинальны настолько, насколько это вообще возможно".




Погружение во фракталы.


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


В 2010 году Бенуа Мандельброт незадолго до смерти выступил на конференции TED, рассказав о практическом применении фракталов.

В 1978 Джеймс Блинн (James Blinn) разрабатывает технику реалистичной визуализации трехмерных объектов, принципиально схожую с придуманным Кэтмеллом наложением текстур, — рельефное текстурирование. Позже методика, призванная моделировать неровности, была доработана до так называемой карты окружения, учитывающей не только свойства поверхностей, но и ту среду, в которой они находятся.


Моделирование подобия апельсина: исходная сфера, карта рельефной текстуры, итоговая бугристая поверхность.
Иллюстрация: Wikimedia.


В третьей части рассказа об истории компьютерной графики мы поговорим о киноиндустрии. Следите за обновлениями на 42.TUT.BY
-10%
-50%
-10%
-15%
-33%
-65%
-21%
0069757