Верхум - Георгий Леонардович Васильев
Илл. 2-03. Фиксики: “Тыдыщ!”
И вот, когда наша студия начала оживлять первых 3D-персонажей, я стоял за спиной аниматора и с замиранием сердца смотрел, как происходит волшебство. Правда, волшебство происходило очень медленно. В среднем аниматор успевает за день сделать всего 2 секунды анимации. Что такое 2 секунды? За это время фиксик может подпрыгнуть, выбросить вверх руку с тремя оттопыренными пальцами и выкрикнуть: “Тыдыщ!” (илл. 2-03). Но для аниматора это работа на целый рабочий день. Он тянет 3D-модель за десятки виртуальных ниточек, проверяет, что получилось, и снова тянет за ниточки, и снова проверяет. И так сотни раз, пока движения фиксика не станут естественными, а жест “тыдыщ” – выразительным.
Когда я впервые увидел, как ожил фиксик, из меня чуть не вырвался “Тыдыщ!”. Это очень странное ощущение. Если ты смотришь на процесс изнутри, то видишь, что аниматор фактически запрограммировал движение множества полигонов, каждый из которых деформируется и движется по своей сложной траектории. Чистая математика. Однако стоит взглянуть снаружи, и – ТЫДЫЩ! – происходит волшебный перескок. Ты видишь подвижного жизнерадостного фиксика, и тебе кажется, что он живой.
Кстати, с реальными живыми организмами происходит нечто подобное. Если вас сильно уменьшить и запереть внутри одноклеточного организма, то вы сможете наблюдать там только химические реакции. А если вы посмотрите на ту же клетку снаружи, то вдруг обнаружите, что это не просто клетка, а эвглена зелёная, которая как раз сейчас уловила своим глазком свет и плывёт к нему, работая жгутиком, как винтом. То есть клетка изнутри – химия, а снаружи – жизнь.
Или вот ещё пример совсем из другой области. Знаете ли вы, что морская волна бежит, только если на неё смотреть снаружи? Если вы погрузитесь в воду, то обнаружите, что частички воды никуда не бегут. Они совершают круговые движения практически на одном месте. В детстве, когда я впервые услышал об этом, то просто не мог в такое поверить. Я специально нырял под большую волну и ждал, не потащит ли она меня за собой. Так и нет. Вода тащит немного вверх и вперёд, потом немного вниз и назад, оставляя тебя почти на месте. Однако стоит вынырнуть – и ты видишь, что волна бежит. Бежит по-настоящему! Вот такой тыдыщ-эффект.
Что общего во всех этих примерах? Везде есть какие-то элементы системы: нейроны в мозге, полигоны в 3D-модели, органические молекулы в клетке, частички воды в море. Везде элементы взаимодействуют – влияют друг на друга или согласованно движутся. Везде взаимодействие элементов сопровождается появлением у системы нового свойства, которое можно заметить, если ты меняешь точку зрения – начинаешь смотреть на работу системы не изнутри, а снаружи. В мозге возникает мысль, в 3D-анимации оживает персонаж, клетка проявляет явные признаки жизни, а по морю бежит волна. В науке такие эффекты принято называть эмерджентными свойствами системы[44].
Получается, что всё зависит от точки зрения? Если смотришь на работу мозга как нейрофизиолог, то видишь только работу нейронов, которые обмениваются друг с другом химическими и электрическими сигналами. А если переходишь на точку зрения психолога, то находишь в мозге мысли. Так? И да, и нет. От точки зрения действительно многое зависит, но дело не только в ней. Попробуем вникнуть глубже.
Мне хотелось найти для вас такой пример, в котором взаимодействие элементов системы и её эмерджентные свойства были бы максимально простыми и наглядными. К счастью, долго искать не пришлось. Я вспомнил непревзойдённую по своей простоте и эффектности компьютерную модель, которую Джон Конвей изобрёл больше полувека тому назад. Автор назвал её Game of Life, или по-русски “Игра жизни”. На русский язык название модели почему-то чаще переводят как Игра “Жизнь”, но этот перевод не отражает сути, поэтому я буду пользоваться английским названием модели.
Главными действующими лицами модели Game of Life выступают клетки. Обыкновенные клетки – как в школьной тетради для математики. Клетка может “ожить” – тогда компьютер закрашивает её каким-нибудь цветом. Живая клетка может “умереть” – тогда цвет исчезает. Правил в Game of Life всего три:
• если у мёртвой клетки ровно 3 живые соседки из 8-ми, то она оживает;
• если у живой клетки 2 или 3 живые соседки, то она продолжает жить;
• если у живой клетки больше трёх или меньше двух живых соседок, то она умирает “от перенаселения” или “от одиночества”.
Модель работает по тактам. На каждом такте компьютер подсчитывает число живых соседок у каждой клетки и решает, кому жить, кому умереть.
Каждый эксперимент с моделью стартует с того, что вы расставляете на поле живые клетки и запускаете подсчёты. Клетки начинают оживать и умирать, а вам остаётся только наблюдать и удивляться тому, что происходит. Очень рекомендую скачать какое-нибудь приложение для смартфона или зайти на какой-нибудь сайт, где вам дадут возможность поэкспериментировать самостоятельно. От начальной расстановки зависит всё.
Если вы оживите для начала одну или две клетки, то они умрут на следующем такте. Но вот 3 живые клетки уже так просто не сдадутся. Если вы их поставите уголком, то на первом же такте они превратятся в квадратик 2 × 2 клетки. И этот квадратик будет жить вечно, потому что у каждой клетки всё время будет ровно 3 соседки. Но если на старте вы расположите 3 живые клетки в одну линию, то получите первую неожиданность. Они заработают как мигалка, на каждом такте меняя ориентацию линии. Если вы начнёте эксперимент с 6 живых клеток, расставленных в один ряд, то они довольно скоро умрут все до единой. А если уменьшите ряд до 5, то получите сразу 4 неумирающие мигалки. На анимированном рисунке (илл. 2-04) я собрал примеры нескольких долгоживущих паттернов.
Илл. 2-04. Неумирающие паттерны в компьютерной модели Game of Life.
Чтобы увидеть паттерны в движении, перейдите по ссылке (QR-код). Советую потратить на это время. Это важно для понимания идей, которые мы будем обсуждать.
Верхний ряд состоит из паттернов типа “натюрморт”. По-французски nature morte – мёртвая природа. Но пусть вас не обманывает неподвижность натюрмортов. Клетки в них живые. И компьютер всё время их тестирует. Живая клетка в натюрморте остаётся стабильно живой только потому, что на каждом такте у неё 2 или 3 живые соседки – не больше и не меньше. Если вы перешли по QR-коду, то во втором ряду видите




