Это база: Зачем нужна математика в повседневной жизни - Йэн Стюарт
Шрифт:
Интервал:
Закладка:
На следующий день после своего поступка, отдающего мелким хулиганством, Гамильтон написал своему другу математику Джону Грейвзу: «Меня вдруг осенило, что мы должны признать в каком-то смысле четвертое измерение пространства, чтобы проводить расчеты с тройками». В письме к отцу он отметил: «Такое впечатление, что замкнулся электрический контур и проскочила искра». В его словах было больше правды, чем ему могло показаться, потому что сегодня это открытие играет принципиально важную роль в миллиардах электрических схем, в которых задействованы квадриллионы крохотных искр. Они известны под такими названиями, как Playstation 4, Nintendo Switch и Xbox, а используются для воспроизведения таких видеоигр, как Minecraft, Grand Theft Auto и Call of Duty.
Сегодня мы понимаем, почему Гамильтону никак не удавалось перемножить триплеты. Эта операция невозможна. Он ведь считал, что обычные законы алгебры при этом должны по-прежнему действовать, в частности, что можно делить на любое ненулевое число. Однако, какую бы формулу он ни пробовал, всем необходимым правилам она подчиняться не желала. Позже алгебраисты доказали, что такие требования логически противоречивы. Если вы хотите, чтобы все законы продолжали действовать, то не можете пойти дальше комплексных чисел. Вы заперты в двух измерениях. Если поиграть с формулами Гамильтона, считая при этом, что сочетательный закон действует, можно без труда убедиться, что один из законов уже отброшен, а именно перестановочный закон умножения. Например, из его формул следует, что ij = k, тогда как ji = –k.
Гамильтону хватило воображения, чтобы отказаться от данного закона, несмотря на все затруднения, и это еще мягко сказано. Но мы сегодня знаем, что даже в этом случае невозможно построить замкнутую числовую систему троек. Красивая теорема Адольфа Гурвица, опубликованная после смерти автора в 1923 году, гласит, что действительные числа, комплексные числа и кватернионы представляют собой единственно возможные «алгебры действительного деления». То есть этот фокус можно проделывать с одним, двумя или четырьмя действительными компонентами, но не с тремя. Из перечисленных только действительные и комплексные числа подчиняются перестановочному закону. Ослабив еще и сочетательный закон, можно получить также систему с восемью компонентами, известную как октонионы, или числа Кэли. Следующим естественным числом компонентов было бы 16, но в этом случае откажет даже ослабленный вариант сочетательного закона. Вот и все. Ничего больше по указанному принципу построить нельзя. Это одна из тех странных диковинок, которые иногда выдает математика: в данном контексте следующий член в последовательности 1, 2, 4, 8, … не существует.
Так что несчастный сэр Уильям провел несколько лет в бесплодных усилиях, пытаясь достичь невозможного. Совершенный им в конечном итоге прорыв опирался на отказ от двух ключевых принципов: что умножение должно подчиняться перестановочному закону и что «правильная» числовая система для трехмерной физики должна иметь три компонента. Он заслуживает огромного уважения за то, что сумел понять: чтобы сделать шаг вперед, необходимо отказаться от обоих принципов.
* * *
Название, предложенное Гамильтоном для новой системы, – кватернионы – отражает связь с четырьмя измерениями. Он пропагандировал их использование во многих областях математики и физики, показывая, что особый тип кватерниона, его «векторная часть» bi + cj + dk, может весьма элегантно представлять трехмерное пространство. Однако кватернионы вышли из моды, когда появилась более простая структура – векторная алгебра. Они остались интересными для специалистов по чистой математике и теоретической физике, но не оправдали надежд своего создателя на широкое практическое использование. Ну, то есть до появления компьютерных игр и компьютерной графики в киноиндустрии.
Связь с кватернионами возникает потому, что объекты в компьютерной графике требуется вращать в трехмерном пространстве, а лучше всего делать это с помощью кватернионов Гамильтона. Они дают нам простой алгебраический инструмент для быстрого и точного расчета результатов вращения. Гамильтон был бы поражен, поскольку в его время кинематографа не существовало. Старая математика может находить совершенно новые сферы применения.
Предложение использовать кватернионы в компьютерной графике впервые было высказано в 1985 году в статье Кена Шумейка «Анимация вращения при помощи кватернионных кривых»{53}. Статья начиналась с утверждения: «Твердые тела вертятся и кувыркаются, двигаясь в пространстве. В компьютерной анимации то же самое делают камеры. Вращение этих объектов лучше всего описывается с использованием четырехкоординатной системы, кватернионов». Далее Шумейк заявлял, что кватернионы обладают ключевым преимуществом – позволяют гладко «заполнять промежутки», то есть интерполировать изображения между двумя заданными граничными точками.
Прежде чем разбирать подробности, имеет смысл обсудить ряд особенностей компьютерной анимации, которые обусловливают такой подход. Разговор будет сильно упрощенным, к тому же, помимо описанного, используется немало других методов. Фильм или движущееся изображение на компьютерном экране на самом деле представляет собой серию неподвижных изображений, показываемых быстро одно за другим, чтобы создать у зрителя иллюзию движения. На заре мультипликации – вспомните хотя бы мультфильмы Уолта Диснея – художники рисовали каждое из неподвижных изображений на отдельном листе. Для получения реалистичных движений (в той мере, в какой говорящая мышь может быть реалистичной) требовалось огромное мастерство. Существовали приемы, позволявшие упростить процесс. Например, иногда фон делали единым для последовательности кадров и уже на него накладывали изображения объектов, которые менялись в каждом кадре.
Это очень трудоемкий метод, к тому же он плохо подходит для съемки стремительных космических сражений или любой другой высококачественной анимации. Представьте, что вам нужно снять последовательный ряд кадров для фильма или игры, где взаимодействуют несколько звездолетов. Каждый звездолет уже прорисован и проработан (на компьютере) дизайнером. Он представлен в виде фиксированного набора точек в пространстве, связанных воедино и образующих сеть из крохотных треугольничков. Эти треугольнички, в свою очередь, могут быть представлены подходящими списками чисел – координатами точек и закодированной информацией о том, какие точки должны быть соединены друг с другом. Компьютерная программа может «отрисовать» этот набор чисел (и добавить туда другую информацию, например цвет), чтобы получилось двумерное изображение звездолета. Это изображение позволяет увидеть, как будет выглядеть звездолет, когда его поместят в начальное положение и будут рассматривать с определенного