Тени — такая простая и незамысловатая, можно сказать, вездесущая вещь в реальном мире, нечто само собой разумеющееся и потому не слишком обращающее на себя внимание. Но для тех, кто занимается компьютерной анимацией, — это вечная головная боль. Всё дело в реализме.
С точки зрения математики, любая тень — очень сложное явление. Помимо размеров и формы предмета, а также расстояния от поверхности, на которую он отбрасывает тень, необходимо учитывать, как падает свет, какова его интенсивность — ну и так далее, и так далее.
А в случае с анимацией, когда всё пребывает в движении, добиться реализма в сто раз сложнее.
Для создания реалистичных теней в компьютерной анимации Голливуд расходует колоссальные вычислительные мощности — и огромное количество времени.
Между тем в университете штата Огайо (Ohio State University) разработаны алгоритмы, которые, будучи не слишком ресурсоёмкими, позволяют достигнуть почти голливудского уровня реалистичности при создании теней от сложных и полупрозрачных объектов и жидкостей.
| ![]() | |
![]() |
Результаты работы и описание разработанных ими алгоритмов были опубликованы в номере журнала IEEE Transactions on Visualization and Computer Graphics за апрель-июнь.
Уникальность алгоритмов, по словам самой Чжан, состоит в том, что при их небольшой ресурсоёмкости, они позволяют визуализировать мягкие тени, учитывая такие факторы, как, например, снижение интенсивности света при его прохождении через полупрозрачный объект.
Любое изображение объёмного предмета на экране — это именно изображение, его проекция. На компьютерном экране мы видим только плоские "имитации" объёмных предметов.
Обычный метод для создания такой имитации — это отслеживание предполагаемой линии взгляда зрителя на объект с последующим формированием соответствующего изображения.
Алгоритмы Чжан базируются на другом методе, называемом сплаттингом (splatting). Это вычисление формы "отпечатка" точки на плоскости экрана.
![]() |
| |
![]() |
Объёмный объект условно разделяется на "воксели" — трёхмерные точки (пиксели), и плоский отпечаток каждой из них на плоскости экрана именуется "сплатом".
Благодаря этому системе необходимо высчитывать только те точки, которые обращены к экрану, благодаря чему ресурсоёмкость созданных Чжан алгоритмов окажется значительно меньшей.
Со своей стороны, профессор Кроуфис охарактеризовал эти алгоритмы как промежуточное звено между дешёвыми анимационными программами и профессиональными пакетами, вроде тех, которыми пользуются в Голливуде.
![]() |
![]() Образец высококачественной компьютерной анимации — фильм "Корпорация Монстров" студии Pixar. Голливуд тратит по часу на обработку каждого кадра, утверждает Кроуфис. |
"Конечной целью являются сверхточные, сверхбыстрые системы рендеринга, потребляющие небольшое количество памяти", — заявил Кроуфис, добавив, что работа Чжан — шаг именно в этом направлении.
По его словам, Голливуд тратит по часу на каждый кадр, в то время, как эти кадры в итоге мелькают со скоростью 30 штук в секунду. Алгоритмы Чжан помогли бы и время сэкономить, и силы поберечь, и в итоге получить не менее реалистичные изображения.
Кстати, алгоритмы эти можно было бы использовать не только для создания анимации. Ещё одной сферой применения могли бы стать программы — симуляторы для хирургов, или средства визуализации массивов данных для других учёных. Например, моделирование климата.
![]() |
![]() Один из сложных объектов, использовавшийся для обкатки алгоритмов Чжан. |
Алгоритмы Чжан можно использовать для расчёта количества солнечного излучения, попадающего на поверхность Земли. Понадобится учитывать температуру воздуха, скорость ветра и плотность водяного пара в атмосфере.
Кроме того, эти алгоритмы могли бы взять на вооружение создатели компьютерных игр.
Статья получена: Membrana.ru