¬аше окно в мир —јѕ–
 
Ќовости —татьи јвторы —обыти€ ¬акансии Ёнциклопеди€ –екламодател€м
—татьи

16 августа 2012

¬ поисках кода, или ћатематика игрушек

ƒмитрий ”шаковƒмитрий ”шаков

ќт редакции isicad.ru: ѕрезентаци€ пакета с открытым кодом OpenSubdiv дл€ высокопроизводительных расчетов поверхностей подразделени€ побудила ƒмитри€ ”шакова изучить историю создани€ «»стории игрушек» и объ€снить нашим читател€м, как все это св€зано с перспективами развити€ —јѕ–.

ѕримеру компании Matra Datavision, опубликовавшей больше дес€ти лет назад исходный код своего €дра твердотельного моделировани€ под названием Open CASCADE, на дн€х последовала студи€ Pixar Animation.

Ёта компани€, основанна€ в 1979 г. ƒжорждем Ћукасом в рамках его студии Lucasfilm, в 1986 г. была продана —тиву ƒжобсу за $10 млн., который в течение следующих 20 лет привел ее к всемирному успеху и продал компании ”олта ƒисне€ за $7.4 млрд. » хот€ массовый зритель знает Pixar прежде всего по анимационным фильмам, установившим рекорды кассовых сборов («»стори€ игрушек», « орпораци€ монстров», «¬ поисках Ќемо», «“ачки» и др.), специалистам в области геометрического моделировани€ эта компани€ известна совсем другими достижени€ми.

Ёд  этмалл Ѕольшинству этих невидимых публике достижений компани€ об€зана Ёдвину  этмаллу (Edwin Catmull). –одившийс€ за мес€ц до окончани€ второй мировой войны Ёдвин с детства грезил профессией аниматора, создава€ собственные мультфильмы, изображени€ которых оживали при перелистывании блокнота. ѕовзрослев, Ёдвин обнаружил в себе математический талант и после окончани€ школы изучал физику и информатику в ”ниверситете ёты. ѕосле окончани€ университета он некоторое врем€ поработал в компании Boeing, но вскоре вернулс€ в университет, чтобы пройти обучение в аспирантуре.

¬ернувшись в альма-матер в 1970 г., он стал студентом јйвэна —азерлэнда (Ivan Sutherland), знаменитого пионера компьютерной графики, создавшего в 1963 г. первую в мире —јѕ– Sketchpad. ѕознакомившись с исследовани€ми —азерлэнда,  этмалл пон€л, что его собственное призвание состоит в том, чтобы, объединив свою детсткую страсть к анимации с математическими исследовани€ми в области компьютерной графики, создать первый в мире анимационный фильм с помощью компьютера.

—овместно с другими аспирантами в ”ниверситете ёты он занималс€ самыми разными аспектами компьютерной графики, имеющими отношение к анимации: моделированием поверхностей свободной формы, отображением текстур на эти поверхности, алгоритмом Z-буфера. ¬ результате он смог осуществить свою мечту, создав в 1972 г. первый в мире анимационный фильм с помощью технологий трехмерного моделировани€ (главную роль в фильме сыграла компьютерна€ модель кисти левой руки Ёдвина  этмалла). ¬ы и сегодн€ можете насладитьс€ соответствующим «Making of»-роликом:

–абота€ над получением цифровой модели кисти (и других аналогичных объектов), Ёдвин  этмалл — совместно с другим аспирантом ƒжеймсом  ларком (James H. Clark), будущим основателем Silicon Graphics и Netscape — изобрел метод получени€ гладкой поверхности по полигональной сетке путем рекурсивного обрезани€ углов по несложному алгоритму.

јлгоритм рекурсивного построени€ поверхности подразделени€  этмалла- ларка по базовой сетке

јлгоритм рекурсивного построени€ поверхности подразделени€  этмалла- ларка по базовой сетке

ѕоверхность подразделени€  этмалла- ларка €вл€етс€ обобщением кубического B-сплайна (см. «NURBS и —јѕ–: 30 лет вместе») и — в отличие от других аналогичных конструктивов (типа поверхности подразделени€ ƒу-—абина) — может быть вычислена напр€мую (без использовани€ рекурсии). ¬ообще, поверхности подразделени€ (subdivision surface) позвол€ют представить гладкие поверхности компактным образом. Ёто свойство широко используетс€ дл€ представлени€ различных объектов живой природы, поэтому поверхности такого типа получили широкое распространение в неинженерных системах трехмерного моделировани€ (типа 3ds Max, CINEMA 4D, Maya, modo, Zbrush и др.)

ѕосле окончани€ аспирантуры и защиты диссертации Ёдвин  этмалл стал работать в Ќью-…оркском институте технологии, где под его руководством собралась сильна€ команда специалистов в области компьютерной графики и анимации, разработавша€ такие программные пакеты как Paint, Tween и SoftCel.

Ќаконец, в 1979 году случилось то, что перевернуло всю киноиндустрию: ƒжордж Ћукас, незадолго до этого создавший первую (по хронологии сюжета — четвертую) часть своих ««вездных войн», осознал громадные перспективы компьютерной графики дл€ киноиндустрии и как раз искал того, кто может реализовать его амбициозные идеи. ѕон€тно, что от такого предложени€  этмалл отказатьс€ не мог, став в том же году вице-президентом отдела компьютерной графики в Lucasfilm. ѕод его руководством началась работа по созданию RenderMan —мощного пакета дл€ конвертации трехмерных сцен в фотореалистичные изображени€, использованного затем дл€ создани€ таких кинематографических шедевров как «»стори€ игрушек» и «¬ поисках Ќемо». ѕродажи лицензий на ѕќ RenderMan до сих пор составл€ет важную часть бизнеса Pixar (стоимость одной коммерческой лицензии — $2000). «а создание RenderMan Ёд  этмалл был отмечен многочисленными наградами, включа€ «ќскара» от јмериканской академии киноискусств.

 огда ƒжобс выкупил у Ћукаса права на соответствующие технологии и основал Pixar Animation Studios, Ёдвин стал директором по технологии новообразованной компании (в своей книге «—тив ƒжобс» јйзексон красочно описал ключевую роль, сыгранную  этмаллом в этой сделке). —пуст€ 20 лет Ёдвин  этмалл вместе с другими сотрудниками Pixar стал частью империи ”олта ƒисне€, зан€в пост президента Walt Disney Animation Studios и Pixar Animation Studios, на котором он трудитс€ и поныне.

 этмалл, ƒжобс и Ћассетер

Ёд  этмалл, —тив ƒжобс и ƒжон Ћассетер (режиссер фильмов «»стори€ игрушек» и «“ачки»)

—корее всего, именно Ёдвин  этмалл лично прин€л решение, которое на дн€х было анонсировано на SIGGRAPH и произвело большое впечатление на всех, имеющих дело с трехмерным моделированием: часть кода RenderMan — а именно та, что отвечает за высокопроизводительные вычислени€ поверхностей подразделени€ на современных параллельных архитектурах, теперь доступна любому желающему совершенно бесплатно — исходный код опубликован в публичном репозитории GitHub под названием Open Subdiv.

—огласно данному на сайте описанию, OpenSubdiv €вл€етс€ набором библиотек с открытым кодом, которые реализуют высокопроизводительные вычислени€ поверхностей подразделени€ на массивных параллельных архитектурах CPU и GPU.  од оптимизирован дл€ отрисовки деформируемых поверхностей подразделени€ со статической (неизмен€емой в процессе деформации) топологией в интерактивном режиме. ѕолученные с помощью этого кода финальные поверхности с вычислительной точностью совпадают с поверхност€ми RenderMan. Ѕолее того, Pixar утверждает, что в точности тот же код используетс€ в компании дл€ производства анимационных фильмов.

ѕример работы с Pixar OpenSubdiv

ѕример работы с Pixar OpenSubdiv

OpenSubdiv распростран€етс€ на услови€х Microsoft Public License, допускающей свободное использование этого кода как в коммерческих продуктах, так и в в составе других систем с открытым кодом. ѕрезентаци€ бета-версии OpenSubdiv произошла на конференции SIGGRAPH 2012, где представители компании за€вили о намерении вскоре выпустить полноценный релиз и посто€нно улучшать код:

ƒл€ компил€ции кода требуетс€ свободно распростран€ема€ в открытом коде библиотека GLEW (OpenGL Extension Wrangler Library) и опционально компоненты CUDA (дл€ программировани€ на основе параллельных GPU фирмы NVIDIA), OpenCL (обобщенный фреймворк дл€ программировани€ GPU), GLUT (библиотека системных утилит дл€ OpenGL), Ptex (система текстурировани€, разработанна€ Walt Disnay Animation Studios) и Maya SDK.

ѕо мнению экспертов, данный шаг Pixar направлен на продвижение своего основного продукта RenderMan. “еперь разработчики приложений дл€ трехмерного моделировани€ получили возможность генерировать поверхности подразделени€, полностью совместимые с этим ѕќ, что позволит избежать проблем при рендеринге. Ёто похоже на инициативу компании McNeel & Associates, котора€ открыла код своего формата данных .3dm в виде библиотеки openNURBS, снабдив его в том числе и функци€ми дл€ расчета NURBS. » тем самым существенно облегчила разработчикам других приложений решение проблем совместимости своего формата данных с Rhino 3D.

ѕоверхности подразделени€ наход€т все более широкое применение в промышленном дизайне. ѕионерами здесь стали компании Dassault Systemes (с революционным продуктом CATIA Imagine & Shape) и Autodesk (поглотивша€ таких технологических лидеров, как Alias и T-Splines). T-Splines, кстати, как раз разработала уникальную технологию, интегрирующую NURBS (основной способ представлени€ поверхностей в инженерных —јѕ–) с поверхност€ми подразделени€ (играющими важную роль в «скульптурном» дизайне). ј мес€ц назад отечественна€ компани€ ј— ќЌ на опубликовала видеоролик, свидетельствующий о том, что данна€ тема ей тоже не чужда — видимо, вскоре можно ожидать по€влени€ продукта дл€ моделировани€ на основе поверхностей подразделени€ в составе линейки ј— ќЌ.

ќчевидно, что наличие возможностей моделировани€ на основе поверхностей подразделени€ становитс€ важным конкурентным преимуществом при выборе интегрированного MCAD-пакета. ¬прочем, ни ACIS, ни Parasolid (самые массовые €дра геометрического моделировани€ дл€ —јѕ–) поверхности подразделени€ пока не поддерживают (равно как не поддерживают они и массовые параллельные архитектуры). —ледовательно, у создаваемого сейчас –оссийского национального геометрического €дра есть реальный шанс обойти конкурентов. ¬оспользуютс€ ли этим шансом разработчики? ѕоживем — увидим.

 омментариев: 1
id 7573     27 августа 2012, 15:03
 ≈вгений Ўирин€н
ќтлична€ стать€. “ема поверхностей подразделени€ все врем€ мне напоминает вот это: http://www.evolute.at/software/evolutetools-for-rhino.html , http://www.evolute.at/technology/scientific-publications.html, http://www.dmg.tuwien.ac.at/pottmann/ ’от€, поправьте мен€, это пр€мого отношени€ к сабдивам не имеет.
ƒл€ производства панелей дл€ криволинейной формы (да и не только дл€ него) необходима оптимизаци€ поверхности и грамотное ее "подразделение" . Ёти реб€та работают, как пон€л, именно с сетками - http://www.evolute.at/software/evolutetools-for-rhino/applications.html “ипичные же операции под созданию панелей по NURBS поверхности выполн€ютс€ в основном по сетке UV изопарм (забыл точное название), что мы часто наблюдаем студенческих экзерсисах в Rhino или Revit. » это есть небольша€ профанаци€, имхо. ќднако, на мой взгл€д, тема оптимизации поверхности и паттерна ее "подразделени€" действительно актуальны, особенно дл€ производства. Ёто к вопросу о решении задач внутри одной платформы или же нескольких.

ќтветить   ÷итировать выделенное


ѕол€, помеченные * об€зательны дл€ заполнени€

  »м€ *

  e-mail

  web

¬ы можете ввести не более 3000 символов, осталось:

¬ведите
первые 3 символа:

 *

ќбновить



    

„итайте также:


¬акансии:

јктуальное обсуждение

RSS-лента комментариев

-->

ƒавид Ћевин
ƒавид Ћевин
ќт редактора: ÷ифровой тройник
ѕроект ЂЌародное —јѕ–-интервьюї

—лучайна€ стать€:

isicad Top 10

—амые попул€рные материалы

   ‘орумы isicad:

isicad-2010 isicad-2008
isicad-2006 isicad-2004

ќ проекте

ѕриглашаем публиковать на сайте isicad.ru новости и пресс-релизы о новых решени€х и продуктах, о проводимых меропри€ти€х и другую информацию. јдрес дл€ корреспонденции - info@isicad.ru

ѕроект isicad нацелен на

  • укрепление контактов между разработчиками, поставщиками и потребител€ми промышленных решений в област€х PLM и ERP...
ѕодробнее

»нформаци€ дл€ рекламодателей


¬се права защищены. © 2004-2019 √руппа компаний «Ћ≈ƒј—»

ѕерепечатка материалов сайта допускаетс€ с согласи€ редакции, ссылка на isicad.ru об€зательна.
¬ы можете обратитьс€ к нам по адресу info@isicad.ru.