Пиксель. История одной точки - Элви Рэй Смит
Шрифт:
Интервал:
Мы сделали вертикальные позиции точек похожими на отсчеты вроде тех, что показаны в предыдущей главе. Это не выборка из окружающей действительности, но ничто не мешает нам вести себя, как будто так оно и есть. Давайте создадим фиктивную «реальность» с помощью теоремы выборки. Обратите внимание, мы говорим создадим, а не реконструируем. Вновь проявляется различие в точках зрения. Мы знаем, как создавать реальность: разбросать каждый образец хорошим разбрасывателем и сложить результаты. Рисунок 6.5 — это то, что у нас получается. Гладкая кривая проходит через (интерполирует) «выбранные» вертикальные позиции, расположенные на пиках разбрасывателя. Точки на кривой соответствуют желаемым положениям по вертикали, поскольку они изменяются во времени.
Затем мы повторяем тот же трюк для горизонтальных позиций. В результате получается гладкая кривая, которая проходит через «выбранные» горизонтальные позиции. Точки на кривой соответствуют желаемым горизонтальным положениям, поскольку они плавно меняются во времени.
Рис. 6.4
С помощью этих двух кривых мы можем построить нужную нам двумерную пространственную кривую — сплайн — в любой конкретный момент: мы берем ее вертикальное положение на первой кривой и ее горизонтальное положение в тот же момент на второй кривой. Если действовать методично по мере течения времени, то мы прочерчиваем нужную нам кривую в том же направлении и порядке, что и исходное движение стилуса. То есть мы построили пару гладких кривых для вертикального и горизонтального положений стилуса, которые проходят через, или интерполируют, точки на планшете, которые я демонстрировал Рави Шанкару. Это сложный способ сказать, что мы создали плавную кривую через точки.
Давайте повторим наши рассуждения снова. Мы предполагаем, что через заданные точки планшета проходит гладкая кривая — траектория исходного движения. Если вы задумаетесь над реализацией этой версии, вы поймете, что вертикальные изменения вдоль траектории должны происходить плавно, как и горизонтальные. Итак, мы используем технику реконструкции — согласно теореме отсчетов, — чтобы построить плавно изменяющуюся кривую вертикальных положений и другую кривую плавно изменяющихся горизонтальных положений. Обе должны пройти через вертикальное и горизонтальное положение точек нашей выборки в двумерном пространстве. В любой другой момент мы можем просто брать положение по вертикали и по горизонтали на двух построенных кривых, чтобы получить координаты точки, которая должна лежать на этом месте в определенный момент. На рисунке 6.6 показано, как выглядит итоговый сплайн по сравнению с определившими его точками-«утками». То, что вводит человек, показано слева, а то, что выводит компьютер, — справа. Получившаяся кривая гладкая, а не зигзагообразная. Это сплайн, одна из самых красивых идей Цифрового Света. И вообще, сплайн — очень красивое слово.
Рис. 6.5
Рис. 6.6
Сплайны на практике
Посмотрите еще раз на изображение (рис. 6.7) разбрасывателя, применявшегося как Котельниковым, так и Уиттекером. Это теоретически правильный разбрасыватель.
Но мы не сможем использовать его для наших сплайновых конструкций, потому что он бесконечен. Его волны уменьшаются, но не прекращаются. Ранее мы использовали в качестве альтернативы практичный конечный разбрасыватель, изображенный на рисунке 6.7 внизу, рассматривая его как «хорошее приближение» к идеальному. Однако все это мы проделывали в контексте реконструкции — в вотчине Котельникова. Здесь, где контекст подразумевает создание, нам не нужно использовать идеальный и бесконечный расширитель. Мы можем довольствоваться более простой и конечной версией. И замечание о приближении значения не имеет. Мы точно строим новую кривую, а не приблизительно реконструируем прежнюю.
Сплайн, получающийся при помощи простого разбрасывателя, открывали заново несколько раз. В компьютерной графике его называют сплайном Катмулла — Рома — в честь двух студентов, изучавших компьютерную графику и открывших его заново: Эда Катмулла, который вместе со мной основал Pixar, и Рафаэля Рома.
Поскольку и Катмулл, и Ром пришли к своему сплайну, отталкиваясь от построения гладких кривых через интерполяцию Уиттекера, им бы не пришло в голову искать в нем реконструкцию по отсчетам Котельникова, а их разбрасыватель лишь приближался к идеальному. И они даже не подумали бы о частотах Фурье в сгенерированных сплайнах.
Рис. 6.7
Два разных подхода — к созиданию и к отображению — основаны на разных точках зрения, поэтому я отдаю должное Уиттекеру за создание, а Котельникову — за реконструкцию. Важное практическое следствие заключается в том, что один разбрасыватель может использоваться в обоих контекстах. И в том и в другом случае достаточно одной компьютерной программы. Возможность применения одной и той же идеи как в пространстве Созидания, так и в пространстве Отображения — удивительно красивая взаимосвязь.
Определение компьютерной графики
Демонстрация сплайна Рави Шанкару — это пример компьютерной графики, основной ветви Цифрового Света — синтетической, создающей изображения, а не регистрирующей их. Компьютерная графика всегда требует сделать два шага. Сначала мы создаем объекты, моделируя их с помощью невидимой геометрии в пространстве Творчества (этот процесс я подробно опишу в этой и следующей главах). Затем мы просматриваем их, визуализируя основанные на геометрии модели с помощью пикселей в пространстве Отображения — на печатной странице, дисплее мобильного телефона или очках виртуальной реальности (VR). Таково наше определение компьютерной графики.
В ту ночь с Рави Шанкаром программа Тома Портера создала невидимый сплайн как основу мазка кисти. В его основе лежала геометрия. Хотя она входит в определение компьютерной графики, модель не рассматривается исключительно как геометрическая. У модели росчерка также есть цвет, мягкие полупрозрачные края и ширина, изменяющаяся во времени. Программа визуализировала модель росчерка в пикселях, которые затем отображались на полноцветном дисплее в графической лаборатории Lucasfilm. Это пример двумерной компьютерной графики, потому что модель основана на двумерной геометрии.
Изображение того же сплайна в этой главе — более простая визуализация. У его модели точно такая же геометрическая траектория, как и росчерк, который я показал Рави Шанкару. Но другие компоненты модели отличаются. Это черная линия постоянной ширины на белом фоне. Обе картинки — примеры компьютерной графики. Отдельный геометрический объект из пространства Творчества можно воплотить множеством способов в пространстве Отображения — все зависит от негеометрических компонентов модели.
С другой стороны, без геометрии нет и компьютерной графики. Adobe Illustrator преобразует двумерные геометрические модели в пиксели. Это программа для компьютерной графики. Adobe Photoshop изменяет пиксели, взятые из реального мира, или создает их с нуля. Это не программа для компьютерной графики. Это программа обработки изображений из другого ответвления Цифрового Света. Точно так же на своих ранних компьютерах Apple предлагала
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!