Объекты и геометрические преобразования
4.1. Типы базовых объектов: скаляры, точки и векторы Компьютерная графика имеет дело со множеством геометрических объектов, таких как точки, многоугольники и многогранники. Все разнообразие геометрических объектов можно свести к ограниченному множеству простейших сущностей. Для этого понадобятся три базовых типа — скаляры, точки и векторы. Существуют, по крайней мере, три варианта определения этих сущностей, в зависимости от того, с какой точки зрения их рассматривать — чисто математической (формальной), геометрической или с точки зрения программной реализации. В конечном счете, программист или проектант имеет дело со всеми тремя вариантами, хотя на первый взгляд и кажется, что они мало связаны друг с другом. Существует огромное множество примеров каждого из трех базовых типов, здесь будем рассматривать только по одному представителю каждого типа. Наибольшую важность представляет вопрос об отличиях между математическим определением каждого типа и его частной реализацией. Геометрическое определение базовых типов Точка. Точка в компьютерной графике играет роль фундаментального геометрического объекта. В трехмерной геометрической системе единственным атрибутом точки является ее положение. Математическая точка размера не имеет. Точки существуют в пространстве независимо от какой-либо системы координат. Это конечно неудобно, так как на определенную точку придется ссылаться как на "точку вот там" или "синяя точка рядом с красной". Проблема ссылок решается с помощью систем координат или фреймов (раздел 4.3). Сейчас попробуем установить, как далеко можно продвинуться, не обращаясь к конкретной системе отсчета. Скаляры — это всегда действительные числа. Скаляры не имеют геометрических свойств, они требуются в качестве единиц измерения. Например, длина отрезка есть скаляр. Скаляром является и угол вращения объекта. Множество вещественных чисел и операций над ними представляет собой (или образуют) скалярное поле. Примерами скаляров могут быть вещественные и комплексные числа, а также рациональные функции.
|