1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /167, 1996 г./ | Бонус | Поиск  

Тема номера

Машинная графика – RETURN

Олег Татарников


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

Когда компьютеры были большими (рис. 1), а средства мультимедиа не отличались широким ассортиментом (рис. 2), то легко было давать прогнозы на будущее, во всяком случае, на ближайшее. Еще в прошлом веке удвоение объемов информации происходило каждые 50 лет, поэтому один человек мог как-то проанализировать развитие общества и сделать общезначимые выводы, которыми пользовались другие. Сегодня же картина в корне изменилась. Удвоение информации происходит ежегодно, и для того чтобы достаточно сложная система была способна нормально функционировать, средства обработки и анализа информации должны успевать за прогрессом.

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

Должны измениться и сами люди. Многие сегодня сетуют, что пришла в упадок наука, молодежь перестает читать книги, а программисты разучились писать программы. А задумывались ли вы над тем, что до сих пор не используются многие достижения науки даже далекого прошлого? А молодежь, может быть, переходит на более емкие зрительные каналы получения информации. И зачем тому же программисту тратить время на оптимизацию кода, когда быстродействие компьютерных систем увеличивается с каждым годом? Здесь, по всей видимости, действуют какие-то более глубокие законы сохранения, чем те, к которым мы привыкли. Мир меняется – и не обязательно в лучшую, с нашей точки зрения, сторону.

 

 Компьютерная графика – по всеобщему мнению, авангард компьютерных технологий – насчитывает в своем развитии не более десятка лет. А ее коммерческим приложениям – и того меньше. Андриес вам Дам (не путать с Клодом ванДаммом, героем боевиков) считается одним из отцов компьютерной графики, а его книги -фундаментальными учебниками по всему спектру технологий, положенных в основу машинной графики (James D. Foley, Andries van Dam, Steven К. Fe/ner, JohnF. Highes, Computer Graphics. Principles and Practice. Addison-Wesley, Second Edition, 1993 -библия компьютерной графики). Некоторые его книги переводились на русский язык, а в 1986 году, в сборнике "Современный компьютер", вышла популярная статья, в которой он доходчиво излагает основы компьютерной графики и дает некоторые прогнозы ее развития. Парадоксально, что современные компьютеры отличаются от своих собратьев 1984 года (когда писалась статья) так же, как те -от представленного на рис. 1, но тем не менее статья нисколько не устарела идо сих пор выглядит прогнозом на наше обозримое будущее. Ниже дословно приводятся выдержки из этой статьи: с некоторыми моими комментариями {курсивом}, возвращающими нас в современность и позволяющими проанализировать происходящее сегодня, глядя из далекого (по меркам компьютерной индустрии) прошлого.

Андриес ван Дам, Машинная графика

© 1984 by Scientific America, Inc.

© Перевод на русский язык, «Мир», 1984.

Айвэн Сазерленд – пионер применения компьютеров для построения и обработки изображений – заметил как-то о своем излюбленном предмете: «Дисплей, подключенный к ЭВМ, представляется мне окном в Алисину страну чудес, где программист может изображать либо объекты, описываемые хорошо известными законами природы, либо чисто воображаемые объекты, подчиняющиеся законам, записанным в программе. С помощью дисплеев я сажал самолет на палубу движущегося авианосца, следил за движением элементарной частицы в потенциальной яме, летал с околосветовой скоростью и наблюдал за таинствами внутренней жизни вычислительной машины».

До недавнего времени экспериментирование по использованию возможностей интерактивной машиной графики – возможностей, которые кажутся магическими, – было привилегией лишь небольшой горстки специалистов, преимущественно ученых и инженеров, занимающихся вопросами автоматизации проектирования, анализа данных и математического моделирования. Теперь же исследование реальных и воображаемых миров через «волшебную призму» компьютера стало доступно гораздо более широкому кругу людей. Все идет к тому, что машинная графика вскоре станет стандартной формой связи с компьютером.

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

Как будто написано вчера, после обвального снижения цен на микросхемы памяти. Дальше автор говорит о том, что появление дешевой емкой памяти сделало экономически выгод -ной технику растровой графики. Сегодняшнее понижение цен вызвало бум дешевых 30-акселераторов с аппаратным z-буфером и специальной памятью для хранения и быстрого наложения текстур. Майкл Абраш (Michael Abrash), программистский гуру Microsoft 3D-DDI, обещает через пару лет PC с графикой, превосходящей Reality Engine SGI, и полной аппаратно-программной поддержкой. «Аппаратная перспективная коррекция при наложении текстур», "билинейная фильтрация", "mip-mapping и antialiasing" – этими мудреными словами щеголяют даже подростки, использующие компьютер исключительно для игр.

 

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

А вот это уж дудки! Война стандартов продолжается до сих пор. Apple продвигает QuickTime Media Layer (QTML) – платформнонезависимую среду, в которую включены: собственно QuickTime, QuickDraw 3D, QuickTime VR (Virtual Reality), сопутствующая аудиотехнология и средства ведения конференций. Microsoft настаивает на своей, также кросс-платформной, реализации Reality Lab в качестве 3D-DDI для поддержки 3D-устройств (3D API), а также двигает Active Movie и DirectX. Intel, не надеясь на всеобщее использование своего API (3DR), проводит политику аппаратной поддержки муль тимедийных средств и наступает двойным фронтом: со стороны процессора – предлагая расширение системы команд ММХ(MultiMedia extension), и со стороны шины – предлагая в качестве нового графического стандарта AGP (Accelerated Graphics Port), Рабочие станции, во главе с SGI, отстаивают Open GL и VRML Ну, а корпорация IBM, как водится, ни к кому присоединяться не собирается и в качестве 3D API для OS/2 предлагает Brender фирмы Argonaut.

Другая причина все возрастающей популярности машинной графики обусловлена влиянием, которое дисплеи оказывают на качество интерфейса – средства общения между человеком и машиной, – обеспечивая максимальные удобства для пользователя. Возможно, наилучшей иллюстрацией подобного интерфейса, о котором так много говорят и с которым связаны философские вопросы разработки программного обеспечения, является ряд методов, разработанных в 70-х годах в исследовательском центре фирмы Xerox в Пало-Альто. Результатом нового подхода (на который в свою очередь оказали влияние еще более ранние работы группы Д. Энгельбарта из Станфордского исследовательского института) стали дисплеи, уже появившиеся в продаже: начиная от автоматизированного рабочего места фирмы Xerox Star и кончая персональным компьютером Macintosh фирмы Apple Computer, Inc (рис. 3)...

 

 ...Новые, удобные для пользователя системы построены в основном на подходе WYSIWYG (аббревиатура от английского выражения «What you see is what you get» – «Что видите, то и имеете»), в соответствии с которым изображение на экране должно быть как можно более похожим на то, которое в результате печатается (или записывается в виде «твердой копии»). Например, при формировании страницы текста не вводятся никакие команды форматирования (типа ,пп для «параграф» или п2 для «пропустить две строки»), которые должны интерпретироваться отдельной программой «пакет форматирования» уже после того, как пользователь закончит редактирование. Вместо этого поля и абзацы устанавливаются путем манипуляций над оригинальным документом... а текст по мере редактирования постоянно преобразуется к текущему состоянию. Поскольку литеры (символы) полностью генерируются программным образом, они могут быть изображены любым шрифтом и в любом масштабе... Почти аналогичным образом можно работать с математическими символами, с алфавитами, отличными от латинского, и даже с китайскими и японскими (и русскими] иероглифами.

Это одно из немногих мест в статье Андриеса вам Дама, которое сегодня звучит несколько архаично. Я привел его исключительно для того, чтобы напомнить поклонникам Apple славную историю их кумира, а всем остальным – то, с чем они столкнулись бы, родившись всего на десять лет раньше. Тем обиднее, что новейшие технологии World Wide Web (без сомнения, феноменального средства коммуникаций 90-х) предлагают нам качество представления информации на экране, которое значительно отстает от современных достижений и отбрасывает нас в прошлое (правда, не очень далекое). Из-за ограничений, накладываемых форматом HTML на использование графики, Web-cep-веры похожи друг на друга, как братья-близнецы, несмотря на все достижения компьютерной полиграфии, .. .Оказалось, что интерфейс, построенный на основе меню и знаков, более удобен для большинства людей, чем чисто алфавитно-цифровой интерфейс, поскольку когда все эти графические элементы правильно подобраны, они кажутся более естественными, более простыми в изучении и использовании, требуют меньше памяти и вызывают меньшее число ошибок.

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

...Для дисплейных систем, предназначенных для построения изображения трехмерных объектов «в реальном масштабе времени», предусмотрена специальная аппаратура, которая позволяет выполнять «видовое преобразование», т. е. операцию проецирования трехмерных примитивов на двумерный экран.

Во время обновления изображения компьютер или специально предназначенную для этого аппаратуру можно запрограммировать так, чтобы значения коэффициентов переноса, поворота или масштабирования присваивались конечным точкам векторов или параметрам видового преобразования, в результате чего в течение следующего цикла регенерации изображение изменяется. Эти параметры могут быть заданы либо программой мультипликации, либо оператором, использующим устройства «мышь», «джойстик» (рычажный указатель) или наборные диски. Возможность плавного перемещения объектов на экране или «точки зрения» наблюдателя оказалась очень полезной для реализации обратной связи с человеком при исследовании структуры незнакомой трехмерной сцены...

...Задача программного обеспечения высокого уровня состоит в том, чтобы изолировать программиста от такого рода деталей, связанных с аппаратурой нижнего уровня, и позволить ему сконцентрировать все свое внимание на вопросах, относящихся непосредственно к решаемой задаче. На заре машинной графики это было невозможно, поскольку графические приложения в то время программировались на уровне языка ассемблера. Эффективности отдавалось предпочтение перед простотой программирования, а переносимость программ с одного типа компьютеров на другой едва ли принималась в расчет. Так обстояло дело вплоть до конца 60-х – начала 70-х годов, когда специалисты начали писать графические программы на языках более высокого уровня и делать их независимыми от какой-либо конкретной вычислительной системы.

А сегодня вообще практически перестали программировать. Современные языки программирования с приставкой 'Visual» так же сильно отличаются от обыкновенных, как те, в свою очередь, от вышеупомянутого ассемблера.

В первом поколении графического программного обеспечения новой эры имитировалась стратегия ввода-вывода языков программирования высокого уровня. Идеализированные «виртуальные» устройства, соответствующие реальным интерактивным устройствам, строились с помощью программ нижнего уровня, «драйверов устройств», которые управляли сложной графической аппаратурой и не менее сложными связями по вводу-выводу с центральным процессором. У каждого виртуального дисплея имелся квадратный виртуальный экран, построенный таким образом, чтобы совпадал с максимальным квадратом, заполняющим поверхность экрана реального дисплея или графопостроителя. Та же система координат использовалась для адресации виртуального экрана независимо от размеров реального экрана. Каждый виртуальный дисплей мог также иметь виртуальные устройства ввода. Устройства ввода, отсутствовавшие на какой-нибудь консоли, могли моделироваться с помощью имеющихся устройств. Таким образом можно построить, например, виртуальную клавиатуру, виртуальные наборные диски и даже виртуальную «мышь»...

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

 

 В сущности, тот тип графического программного обеспечения, который был разработан десятилетие или более назад, можно было описать по аналогии с «воображаемым фотоаппаратом». Прикладная программа порождает «мир», состоящий из объектов, таких, как символы блок-схем, элементы или атомы цепей, включая в модель все необходимые параметры. Затем прикладная программа извлекает из этого «мира» геометрическую информацию и передает ее графическим программам. Графическая часть программного обеспечения, как правило, управляемая пользователем, производит затем снимок-проекцию заданных в мире наблюдателя примитивов из определенной точки наблюдения и посылает этот снимок на экран. Таким образом, моделирование – это характеристика прикладной программы, а визуализация некоторой части модели – характеристика программного обеспечения воображаемого фотоаппарата. Прикладное программное обеспечение обычно складывается из двух подсистем: графического редактора, который дает наблюдателю возможность порождать и обрабатывать прикладную модель и ее визуальное представление, и независимого набора постпроцессорных модулей, предназначенных для анализа уже сформированной прикладной модели...

Исходя из вышесказанного, сегодня мы, похоже, «отброшены» в 70-е годы. Ибо все современные программы работают по методу «воображаемого фотоаппарата», который обеспечивает соответствующий API.

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

Ага! Все развивается по спирали. Фирма Microsoft, например, перейдя полностью на API, понимает, что «не сможет в полной мере использовать богатые аппаратные возможности», и предлагает DirectDraw (а прежде -DCI), реализуя возможность прямого доступа к аппаратуре.

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

Сосуществовали, сосуществуют и видимо долго еще будут сосуществовать, потому что деньги нужны всем, а не только фирмам Microsoft и Adobe. Между прочим, Adobe – это название ручья, что протекает в Сили-

коновой Долине между Пало-Альто (Ра/о-Alto) и Маунтин-Вью (Mountain View), в сухую погоду он пересыхает.

...Большинство традиционных приложений машинной графики являются двумерными. В последнее время, однако, отмечается возрастающий коммерческий интерес к трехмерным приложениям. Он вызван значительным прогрессом, достигнутым в прошлом десятилетии в решении двух взаимосвязанных проблем: моделирования трехмерных сцен и построения как можно более реалистичного их изображения. Например, в имитаторах полета, предназначенных для обучения пилотов, особое значение придается времени реакции на команды, вводимые пилотом и инструктором. Чтобы создавалась иллюзия плавного движения, имитатор должен порождать чрезвычайно реалистичную картину динамически изменяющегося «мира» с частотой как минимум 30 кадров в секунду. В противоположность этой мультипликации, производимой в реальном масштабе времени, изображения, применяющиеся в рекламе и индустрии развлечений, вычисляют автономно, нередко в течение часов, с целью достичь максимального реализма или произвести сильное впечатление. В настоящее время в автоматизированном проектировании все больший упор делается на порождение в интерактивном режиме контурных рисунков с возможностью последующего быстрого получения полной, тоновой версии рисунка. Новейшая аппаратура предоставляет возможность даже интерактивной генерации полигональных «твердых» объектов.

 

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

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

В системах, построенных на основе конструктивной геометрии сплошных тел, объекты формируются непосредственно из твердых тел – примитивов, таких, как блоки, цилиндры и сферы. Примитивы можно комбинировать с помощью трехмерных теоретико-множественных операций, таких, как объединение (соединение двух объектов), пересечение (выделение общего подмножества) и разность (взятие всего первого объекта, за исключением тех его частей, которые являются общими со вторым объектом). Косвенное задание объектов производится в системах с граничным представлением. Оно также дает возможность выполнять теоретико-множественные операции, однако при этом объект определяется как ограниченный плоскими гранями, цилиндрическими гранями или даже участками поверхности, заданными полиномиальными функциями. Такое описание поверхностей «произвольной формы», использующее криволинейные участки, привлекло внимание аэрокосмических и автомобилестроительных компаний как удобное средство для формирования корпусов их изделий.

Симметричный объект можно также описать с помощью поверхности вращения . Ваза или бутылка задается своей образующей (кривой, описывающей силуэт) и осью вращения. Операция переноса аналогична движению поворота: в этом случае объем формируется путем перемещения грани произвольной формы, включая отверстия, вдоль пространственной кривой. Идеализированную шестерню можно сформировать, задав вначале четвертую часть грани, затем завершив построение грани с помощью операций симметрии и, наконец, переместив грань вдоль короткого прямолинейного участка для придания телу шестерни цилиндрической формы.

 

 При описании классов объектов оказываются полезными многие другие математические методы, включаемые в состав гибридных систем. В особом случае интерактивного задания объектов возникают дополнительные сложности, связанные с использованием этих методов. Так, пользователь должен наблюдать за двумерной проекцией трехмерной сцены, в которой трудно оценить глубину. Среди вспомогательных средств, которые могли бы давать пользователю информацию о том, как протекает процесс спецификации объекта (тем самым осуществляется «обратная связь»), можно выделить одновременное использование нескольких изображений (таких, как стандартные ортографические проекции: виды спереди, сбоку и сверху, а также центральная проекция), рисование в плоскости постоянных координат х, у или z и такие средства, как динамически корректируемые размерные линии и двумерные или трехмерные сетки с нанесенными пометками.

Когда объекты сцены заданы, следующий шаг состоит в том, чтобы передать описание объекта программам синтеза изображения для визуализации. Существующие алгоритмы изображения работают либо с полигональными описаниями, либо с полиномиальными, либо с другими способами задания математических поверхностей более высокого порядка. Общепринято перед построением изображения приводить описания высоких порядков к более простой «кусочной» аппроксимации в виде небольших многоугольников. Процесс построения изображения можно схематично представить в виде последовательных шагов, хотя в реальной программе эти шаги часто взаимно переплетаются. Все они, по существу, основаны на применении фундаментальных законов оптики.

Первый шаг состоит в удалении скрытых поверхностей, т. е. поверхностей или их частей, которые не видны из точки, где находится воображаемая фотокамера. Сюда входят как поверхности, представляющие дальние стороны объектов, так и поверхности, закрытые другими, более близкими к точке наблюдения объектами. Различные методы удаления невидимых поверхностей могут быть реализованы аппаратно. В алгоритмах обычно предполагается, что экран расположен в проекционной плоскости г = 0, а сцена находится позади него. Например, в алгоритме, построенном на основе z-буфера, имеется отдельный буфер значений координаты z, по одному значению на каждый пиксел. Величина z пиксела содержит информацию о глубине соответствующей точки, которая проецируется на пиксел и принадлежит ближайшему из встречающихся к данному моменту многоугольников. Когда новый многоугольник преобразуется, усекается и проецируется на плоскость z = 0, значения пикселов, составляющих многоугольник, по очереди сравниваются со значениями, записанными в z-буфере. Если значение z пиксела данного многоугольника оказывается меньше (это означает, что данный многоугольник расположен ближе к экрану, чем любой из ранее рассмотренных многоугольников), то пиксел считается текущим «видимым» пикселом и запоминается как в буфере регенерации, так и в z-буфере. Реально же он станет видимым только в том случае, если не заменится к тому времени, когда будет обработан последний многоугольник.

 

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

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

Рассеянный свет проще всего моделируется путем добавления постоянной величины световой интенсивности ко всем поверхностям, однако при такой стратегии, конечно, не проводится никакой дифференциации между поверхностями. Отражение точечных источников света матовыми или диффузными поверхностями (т. е. такими, которые рассеивают свет равномерно по всем направлениям) описывается законом косинусов Ламберта, который гласит, что интенсивность отраженного света пропорциональна косинусу угла между направлением на источник света и вектором, перпендикулярным поверхности, или нормалью к этой поверхности. Освещенность оказывается наиболее сильной, когда поверхность перпендикулярна направлению на световой источник. Для блестящих поверхностей, порождающих зеркальные блики (такими поверхностями обладают, например, хорошо отполированные дерево или металл), количество отраженного света определяется углами между нормалью к поверхности и двумя направлениями: на световой источник и на точку наблюдения. Поверхность работает как зеркало, т. е. отражает большую часть света, когда углы почти равны (т. е. когда точка зрения и источник света расположены симметрично относительно нормали к поверхности). По мере того как углы все больше отличаются друг от друга, интенсивность света быстро падает. Сумма составляющих рассеянного, диффузного и зеркально отраженного света определяет интенсивность света поверхности. Если же во внимание принимается цвет, то рассматриваются уравнения для каждого из трех основных цветов.

В результате такой комбинации операций появляется неестественное, с большим количеством граней, изображение. Поскольку многоугольник определяется одной нормалью к поверхности, соседние многоугольники с разными нормалями имеют различные значения интенсивности. В результате появляется заметное нарушение непрерывности на общих ребрах. Закраска Гуро (названная по имени ее автора, А. Гуро) позволяет усреднить интенсивности в вершинах многоугольников, а затем вдоль сканирующих прямых, и тем самым сгладить их. Закраска Фонга (названная так в честь ее автора, покойного Би-Тонга Фонга) оказывается совершенней, чем закраска Гуро, ибо использует более детальные вычисления, которые гораздо чувствительнее к зависящим от направления эффектам зеркальных бликов.

Новейшие высокопроизводительные графические системы на персональных компьютерах способны формировать изображение, состоящее из нескольких тысяч многоугольников в реальном режиме времени, что трудно было даже представить десять лет назад. Они приступают прежде всего к обработке иерархии объекта, включая применение к его компонентам геометрических преобразований для моделирования движения, затем вычисляют видовое преобразование и, наконец, удаляют невидимые поверхности и производят гладкую закраску. Сегодня активно обсуждается возможность аппаратного наложения текстур, возможность просчета в реальном времени теней и отражений. Еще несколько лет назад такой уровень производительности был недостижим и на специализированных системах, стоящих миллионы долларов. А главным «зачинщиком» и заказчиком таких технологий остается индустрия развлечений – компьютерные игры и аттракционы. Большой успех игровых приставок Sega Saturn и Sony Playstation подстегивает и разработчиков игр для домашних компьютеров делать все новые и новые инвестиции в эту прибыльную область.

Другие эффекты, которые приходится учитывать, -это тени, пропускание света и свойства поверхности, такие, как фактура и зернистость. Алгоритмы построения теней от источников света очень напоминают алгоритмы удаления скрытых поверхностей, поскольку в них определяется, какие поверхности могут быть «видимы» из точек, где расположены источники света. Поверхности, одновременно видимые из точки наблюдения и из источников света, не находятся в тени, в то время как те из них, которые видимы из точки наблюдения, но не видимы из светового источника, лежат в тени. В случае распределенных источников света нужны сложные вычисления как для полных теней, так и для полутеней.

Еще более сложную проблему создает фактор пропускания света. «Направленное» прохождение, характерное для прозрачных поверхностей, подобных стеклу, определяется коэффициентом преломления вещества. Диффузное прохождение света через полупрозрачные материалы, такие, как замерзшее стекло, приводит к рассеянию света по всем направлениям. Алгоритмы, наиболее сложные с вычислительной точки зрения и позволяющие строить наиболее реалистичные изображения с учетом как отражения, так и преломления света, называются алгоритмами трассирования лучей. По существу, в этих алгоритмах отслеживаются индивидуальные световые лучи, чтобы определить, какие из них оканчиваются в точке наблюдения и как они оказываются там. Для того чтобы не иметь дела с бесконечным числом лучей, исходящих из источника света, лучи прослеживают в обратном направлении, с началом в каждом пикселе. Всякий луч, выходящий из точки наблюдения и проходящий через пиксел, проецируется назад до пересечения с поверхностью. Затем обратное трассирование отраженного луча продолжается, чтобы определить, пришел ли этот луч от источника света или он является результатом отражения от другого объекта. В случае прозрачной поверхности должен быть также отслежен и второй, преломленный луч. Каждый луч на самом деле необходимо проверить на пересечение с каждым объектом. В конечном счете лишь небольшой процент лучей имеет предшественников, исходящих из источника света. Существуют новые методы, позволяющие учитывать отражение и преломление диффузного света, однако они все еще очень дороги с вычислительной точки зрения.

И продолжают оставаться дорогими до наших дней. Когда же вычислительная мощность позволит этим методам (кстати, давно и достаточно хорошо разработанным! работать в реальном режиме времени, сотрется последняя грань между видимым в реальности миром и его компьютерным изображением.

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

Независимо от того, рассматриваем лимы простые структурные схемы или высокореалистичные изображения, наиболее важная задача машинной графики состоит в том, чтобы улучшить понимание явления, дать возможность экспериментировать без риска, неудобств или чрезмерно больших затрат, помочь в получении ответов на вопросы «что произойдет, если...» Однако для большей части исследований, связанных с имитацией и моделированием, простых статичных представлений оказывается недостаточно: наиболее интересные явления динамические. Одна статичная картинка может заменить тысячу слов, движущееся изображение часто заменяет много статичных картинок. Главной отличительной чертой нового поколения мощных рабочих мест является возможность наблюдать за изменениями свойств объектов во времени с помощью управляемой пользователем мультипликации, выполняемой в реальном масштабе времени...

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

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

...Наша цель – дать студентам возможность «увидеть» абстрактное явление и тем самым выработать интуитивное геометрическое представление о нем перед тем, как углубляться в программирование или математику. Нам также хочется быстрее знакомить их с материалом за счет объединения аудиторной лекции с лабораторным экспериментом. На обычной лекции большинство студентов ведут себя пассивно, даже если на ней поощряются вопросы. В результате студенты фактически не вникают в материал до тех пор, пока не приступят к выполнению домашнего задания или лабораторных работ. Теперь же преподаватель может вводить новый материал, объясняя его с помощью последовательного ряда мультипликационных изображений, которые видят все студенты. Затем он может предложить каждому из них независимо поработать с одним и тем же «интерактивным фильмом».

 

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

Демонстрации нашего интерактивного учебного класса являются примером более общей категории, которую можно назвать «электронными книгами». В качестве представителя другого подхода можно назвать Пространственную систему управления данными, разработанную в Массачусетском технологическом институте. Эта система позволяет просматривать двумерную «страну данных» – неограниченно большую поверхность стола, заполненную знаками. Можно подгонять курсор к любому знаку и изображать его содержимое. В базу данных заносятся текст, схемы, фотографии, звук и телевизионные кадры (считываемые в реальном масштабе времени с видеодиска).

Ох, знал бы автор, во что это выльется! Писал я недавно статью о Video CD (VCD)для общего пользования (в газету «Экстра М») и поинтересовался в Интернете о разработках в этой области. Из каждых десяти сообщений о VCD и CD/ поисковая система выдает восемь эротического и порнографического содержания. Первые коммерческие I/CD появились в начале 1994 года. Тогда, например, британской фирмой Omni Media был выпущен I/CD группы Rolling Stones – «Live at the Max». Ho настоящий бум VCD пришелся именно на нынешний год, когда возможности для проигрывания таких дисков значительно расширились. Интерактивный диск появился недавно и у российской группы «Наутилус Помпилиус», о чем писала и «Компьютерра».

В рассматриваемой экспериментальной системе Университета Брауна аналогия с поверхностью стола заменяется на ассоциативную сеть страниц текста и сносок, примечаний и перекрестных ссылок. Читатель может просматривать материал в соответствии с перекрестными ссылками между связанными разделами аналогично тому, как он это делал бы, пользуясь энциклопедией. Т. Нельсон, лидер движения за создание новой литературной формы, построенной на основе технологии дисплеев и компьютеров, назвал такой «нелинейный» манускрипт гипертекстом. По инициативе Н.Негропонте и его коллег из Массачусетского технологического института начались работы еще над некоторыми проектами, непосредственно связанными с машинной графикой. Они включают интерактивное руководство по обслуживанию и ремонту автомобилей, работа с которым осуществляется путем генерации заранее заготовленных «фильмов», построенных на основе последовательных кадров с видеодисков, а также электронную газету, которая непрерывно просматривает сообщения, поступающие по проводной связи, и собственную базу данных, формируя для читателя заметки и рисунки в соответствии с характером его интересов.

 

 Когда-то, лет пять-шесть назад, вместе со мною работал один человек, который писал ужасные программы и все время говорил про какой-то гипертекст. Над ним посмеивались, и никто не предполагал, что не за горами еще более «страшный и ужасный» Интернет, без которого теперь как без рук, – а традиционным шумным выставкам, презентациям и семинарам грозит неизбежный кризис.

 

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

Необходимо добавить, что книжек они теперь не читают, а скоро разучатся и писать...

Что следует ожидать в будущем? Отношение цена/производительность для аппаратуры должно измениться к лучшему на несколько порядков, прежде чем эквивалент имитатора полета в реальном масштабе времени сможет появиться на столе среднего пользователя. Еще больший прогресс необходим в понимании взаимодействия законов физики и эстетики, чтобы «художник», пользующийся компьютером, понял, как убедительно изображать реалистичные сцены, которые были бы при этом приятны для глаза. В конечном счете настоящие трехмерные дисплеи откроют совершенно новые возможности: исследования, проводимые на цифровых голограммах, могут привести к построению почти натуральных сцен в реальном масштабе времени. В смысле ввода информации необходима дополнительная работа над интерфейсом. К примеру, изображения должны в большой степени сочетаться со звуком, как в случае речевого ввода и воспроизведения голоса. Значительный прогресс должен также произойти в понимании структуры естественного языка и связанных с ним областях искусственного интеллекта, прежде чем пользователи смогут разговаривать со своими компьютерами. Для исследования «чувства осязания» объекта, показываемого на экране, необходимы новые методы тактильного управления и обратной связи. Что касается меня, то предел моих желаний выражен в старом комиксе «Мэндрейк-волшебник»: «Мэндрейк делает гипнотический жест...» – и в мгновение ока возникает новая сцена, ощущение новой окружающей обстановки. Отношение цена/производительность для аппаратуры изменилось настолько, что 'эквивалент имитатора полета в реальном масштабе времени» считается несерьезной детской игрушкой, не стоящей внимания. «Эквивалента имитатора кошмаров» вроде Doom или Quake нет на столе только у ленивого. А вот понимания "взаимодействия законов физики и эстетики, чтобы "художник", пользующийся компьютером, понял, как убедительно изображать реалистичные сцены, которые были бы при этом приятны для глаза» нет до сих пор и не ожидается. Никто не собирается и общаться с компьютером при помощи речи, разве что на выставке какой-нибудь «ошалелый» компьютер заорет дурным голосом. А новосибирская фирма «Софт-Лаб» сделала даже устройство управления при помощи мыслей (на самом деле они используют гальванические эффекты кожи, различные при определенных мыслительных процессах). Угадайте, где это используется? Правильно, в играх! В противном случае клавиатур не напасешься – а тут сидишь себе, думаешь: направо, налево и бум! А вот исследований, к сожалению, практически никто не проводит...

Silicon Graphics выпускает "кислород"

Пока верстался этот номер, пришло сенсационное известие – фирма Silicon Graphics полностью меняет архитектуру своих рабочих станций.

"Озоновая дыра", которая начала расширяться над рынком рабочих станций благодаря появлению мощных персональных компьютеров на базе одного или нескольких процессоров Pentium Pro, грозит перевернуть все наши представления о делении компьютерных платформ на рабочие станции и PC. В этих условиях единственное, что может спасти рынок профессиональных рабочих станций, — резкий уход в отрыв по производительности и мощности от персональных компьютеров. У спортсменов-подводников существует прием — гипервентиляция легких чистым кислородом для увеличения глубины погружения. Видимо, это натолкнуло фирму Silicon Graphics назвать свою новую младшую модель О2.

Фирма SGI давно находится в авангарде компьютерных технологий, а ее графические системы задают стандарт для многих производителей аппаратуры — вчерашние новинки этой компании нашли применение и в персональных компьютерах. Полностью поменялась архитектура, модели сменили названия, резко упала цена, комплектующие потеряли совместимость. Почему фирма пошла на это? Что получит пользователь? Остановимся подробнее на младшей модели – О2. Это принципиально многопроцессорная система ценой около7000 долларов. Один или два процессора R5000 или один R10000 умещаются в коробочке, размером с тостер. Новая 64-разрядная операционная система IRIX 6.3 – единая для всех моделей (в недалеком будущем – IRIX 6.4). Единая память (без подразделения на оперативную, текстурную или специальную видеопамять). В соответствии с этим, память переходит со знакомых SIMM (Single Inline Memory Modules) на высокоскоростные 100 МГц DIMM (Dual Inline), с 288-разрядной шиной и скоростью обмена до 2,1 Гбайт/с. Размер памяти планируется довести до 1 Гбайт. 64-разрядная шина PCI со скоростью обмена до 267 Мбайт/с. Встроенная 10- и 100-мегабитная сетевая поддержка. Два канала Ultra Fast/Wide SCSI для подключения внешних устройств. Полная встроенная поддержка до 8 аудиоканалов (DAT-качества). Поддержка ввода-вывода видео с компрессией или без (Motion JPEG, MPEG, Cinepack, QuickTime и другие форматы).

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

Информацию предоставила фирма Great Silicon Way (gsw@steepler.ru).

 

 

{НАЧАЛО ВРЕЗКИ}

СИНТЕЗ ИЗОБРАЖЕНИЯ при помощи компьютера можно представить в виде последовательности шагов, хотя реально эти шаги в программе часто переплетаются. Здесь объект (крокодил на обложке) представляется сеткой многоугольников и изображается прежде всего в виде «каркасного» рисунка. Затем удаляются невидимые ребра. На следующем этапе проводится закраска (здесь закраска цветом) каждого из многоугольников, являющаяся функцией угла, который многоугольник составляет с источниками света, и свойств его поверхности; в результате получается изображение с большим количеством граней, имеющее неестественный вид. Нарушения непрерывности на общих ребрах между соседними многоугольниками можно сгладить с помощью шейдинга (закраски) Гуро, а зеркальные световые блики можно добавить, если воспользоваться шейдингом по Фонгу. На последнем шаге методом выравнивания сглаживаются зазубренности краев при растрировании. Финальное изображение – алгоритм трассировки лучей просчитывает тени и отражения (см. обложку).

{КОНЕЦ ВРЕЗКИ}

 


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /167, 1996 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru