Это база: Зачем нужна математика в повседневной жизни — страница 32 из 60

Гамильтон известен в основном как создатель теорий, но кватернионы – достойный пример его мастерства как инструментальщика. Он придумал их, чтобы обеспечить алгебраическую структуру для системных расчетов в области геометрии трехмерного пространства.

* * *

Гамильтон родился в Дублине (Ирландия) в 1805 году и был в семье четвертым ребенком из девяти. Его матерью была Сара Хаттон, а отцом – Арчибальд Гамильтон, стряпчий. В три года Уильяма отправили жить к его дяде Джеймсу, который управлял школой. У Уильяма не по годам рано проявился талант к языкам, но он сумел самостоятельно освоить и математику. Именно математику он изучал позже, с 18 лет, в дублинском Тринити-колледже и получал самые высокие оценки. Джон Бринкли, епископ Клойнский, выразился так: «Этот молодой человек, я не говорю станет, он уже является первым математиком своего поколения». Епископ, похоже, был прав, и в 1837 году, будучи еще студентом, Гамильтон стал эндрюсским профессором астрономии и королевским астрономом Ирландии. Оставшуюся часть своей профессиональной жизни он провел в Дансинкской обсерватории близ Дублина.

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

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

За эти и другие математические достижения в 1835 году Гамильтон был возведен в рыцарское достоинство. Кватернионы появились позже, и когда это произошло, мало кто, если не считать самого Гамильтона и нескольких почитателей, по достоинству оценил их значение. Мне кажется, при жизни Гамильтона большинство математиков и физиков рассматривало его энтузиазм в отношении кватернионов как чудачество – если не безумие в полном смысле этого слова, то нечто опасно к нему близкое. Они ошибались. Новое изобретение Гамильтона запустило настоящую революцию и завело математиков на незнакомые, неисследованные территории. Можно понять, почему большинство не сумело оценить их потенциал, но сам Гамильтон не сомневался, что наткнулся на что-то важное. Его новые территории до сих пор предлагают нам дразнящие новые открытия.

* * *

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

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

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

Именно это, в сущности, происходит, когда нам показывают вид деревни глазами дракона. У компьютера в памяти уже хранятся репрезентативные координаты всех значимых элементов деревни. Сетчатка драконьего глаза играет роль холста. Если мы знаем, где она находится и под каким углом располагается, то можем воспользоваться формулой и вычислить, что дракон должен видеть. Это дает один кадр фильма, который показывает зрителю деревню в конкретный момент времени. На следующем кадре деревня остается на том же месте, но дракон – и, соответственно, сетчатка его глаза – немного смещается. Вычисляем, куда именно, повторяем расчет – и получаем следующий кадр. Следуем по маршруту дракона в небесах и кадр за кадром складываем картину того, что он видит.


Гравюра «Художник, рисующий лютню» Альбрехта Дюрера иллюстрирует проецирование трехмерного пространства на двумерный холст


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

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

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

Любое жесткое движение является комбинацией параллельного переноса и вращения (но параллельный перенос может осуществляться на нулевое расстояние, а вращение – на нулевой угол, в этих случаях преобразования не производят никакого действия). На самом деле это неправда: существует еще один тип движения – отражение, которое работает по принципу зеркала. Но отражение невозможно получить при помощи непрерывного перемещения, так что про него можно забыть.

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

* * *

В двух измерениях – на плоскости – все намного проще. Евклид формализовал геометрию плоскости примерно в 300 году до н. э. Однако он не прибегал при этом к помощи движений, а использовал конгруэнтные треугольники[6] – треугольники одинаковой формы и размера, различающиеся только положением на плоскости. К XIX веку математики научились интерпретировать такую пару треугольников как жесткое движение, то есть как такое преобразование плоскости, которое переносит первый треугольник на позицию второго. Георг Бернхард Риман определил геометрию через конкретные типы преобразований.

Следуя совсем другим путем, математики смогли также предложить эффективные способы расчета жесткого движения на плоскости – это был неожиданный побочный эффект одного нововведения в алгебре, которое мы уже упоминали в предыдущей главе: комплексных чисел. Чтобы осуществить параллельный перенос (скольжение) фигуры, например PIG (см. рис. в главе 6), мы прибавляем одно и то же комплексное число к каждой ее точке. Чтобы повернуть ее на угол