9.15. Предположим, что при отображении нескольких объектов использовалось наложение текстуры в виде полосок или шахматной клетки. Как изменится вид картинки при переходе от параллельной проекции к перспективной?
9.16. Пусть имеется сцена, состоящая из объектов стандартной формы (например, параллелепипедов), но разного размера, причем в вашем распоряжении есть единственная текстура, которую требуется применить ко всем объектам. Как следует настроить процесс наложения, чтобы узор имел одинаковый размер на всех гранях объектов?
Операции с изображением на уровне растрового представления
ГЛАВА
Кривые и криволинейные поверхности Втом, что наш мир не является плоским, просвещенное человечество перестало сомневаться в 1492 году. Но, тем не менее, в компьютерной графике виртуальное пространство продолжает "заселяться" преимущественно плоскими объектами. И на то есть довольно веские причины. Современная графическая система способна с высокой скоростью выполнять операции закраски проекций плоских многоугольников, удаления невидимых поверхностей, представленных в форме множества плоских многоугольников, и наложения на них разного рода текстур. Поэтому, если возникает необходимость включить в состав сцены криволинейный объект, например сферу, его зачастую стремятся с самого начала приближенно представить (аппроксимировать) множеством плоских многоугольников. Альтернативный способ, который мы рассмотрим в этой главе, состоит в том, чтобы предоставить пользователю средства работы с криволинейными объектами, возложив функцию их тонирования, которое не обходится без аппроксимации, на реализацию графической системы.
В этой главе читатели познакомятся с тремя методами моделирования (формами представления) кривых п'щий и криволинейных поверхностей, причем основное внимание будет уделено параметрической полиномиальной форме представления. Мы также обсудим, как можно в современной графической системе реализовать тонирование таких объектов. Этот процесс, как правило, включает разбиение криволинейных поверхностей на большое число мелких плоских примитивов. Этот процесс абсолютно прозрачен с точки зрения программиста, разрабатывающего прикладную программу, поскольку его реализация возлагается на системные средства графического пакета. Но о том, как выполняются эти операции, программист должен четко себе представлять - характер операций определяет ограничения, которые накладывает процесс реализации на неуемную фантазию пользователя.