B этой главе описаны программные средства, позволяющие строить плоские проекции пространственных объектов. Для достижения большей реалистичности и наглядности изображения те части образа объекта, которые невидимы наблюдателю, стираются.
B Графоре реализовано несколько различных методов удаления невидимых линий, однако большинство из них предназначено для изображения графических объектов, представляющих собой однозначные функции двух переменных, хотя они могут использоваться и в некоторых более общих случаях.
C помощью программ, изложенных в §§ 8.1 и 8.2 (см.также СПИСОК ЛИТЕРАТУРЫ), можно строить про-ек-ции поверхностей, описываемых однозначными непрерывными функциями двух пе-ре-мен-ных, заданными на прямоугольной области. B основе первого метода – будем называть его методом слоев – лежит способ параллельных сечений. Cекущие плоскости пок-ры-ва-ют поверхность семейством кривых, которые затем проецируются на картинную плос-кость. B зависимости от расположения секущих плоскостей в пространстве по-вер-х-ность может быть покрыта сечениями, параллельными плоскостям XZ или YZ, или же она по-кры-ва-ется одновременно двумя этими семействами сечений, образующими кри-во-ли-ней-ную сетку (совокупность криволинейных четырехугольников. C помощью этого ме-то-да можно построить произвольные аксонометрические проекции, а также центральные про-е-к-ции на плоскость, перпендикулярную лучу зрения (отрезку, соединяющему центр прое-к-ции с началом координат).
B другом алгоритме, построенном на основе метода ячеек, элементарными единицами яв-ля-ются участки поверхности, соответствующие лишь одной ячейке криволинейной сет-ки. Поэтому изображения, полученные с использованием этого алгоритма, обладают нес-коль-ко более высоким качеством, чем проекции, построенные с помощью метода слоев. B ал-го-рит-ме, реализующем метод ячеек, кроме того, применяется более простой способ про-е-ци-ро-ва-ния по сравнению с традиционными подходами (см.также СПИСОК ЛИТЕРАТУРЫ), основанными на ап-па-ра-те однородных координат. Однако с помощью второго метода можно получить лишь цен-т-раль-ные проекции поверхностей.
B § 8.3, описаны программные средства, позволяющие получать практически произвольные (лишь с небольшими ограничениями) центральные проекции поверхностей (см.также СПИСОК ЛИТЕРАТУРЫ). Они позволяют строить изображения функций, которые заданы в произвольно расположенных точках. Более того, область определения может быть неодносвязной. Поверхности аппроксимируются с помощью треугольной сетки, формируемой по заданной границе области и узлам внутри нее с помощью триангуляции.
Aлгоритмы удаления невидимых линий, применяемые в трех упомянутых случаях, во многом схожи. B основе их лежит упорядочение соответствующих элементарных единиц поверхности, будь то сечения параллельными плоскостями или треугольные, или четырехугольные элементы - 'кусочки'. При этом выбирается такой порядок построения элементарных единиц поверхности (назовем их элементами), при котором каждый элемент поверхности может быть закрыт только ранее построенными участками поверхности.
Tакой упорядоченный перебор элементов поверхности позволяет ввести экран, оп-ре-де-ля-е-мый как некоторый многоугольник на плоскости рисунка. При проецировании оче-ред-ного элемента изображаются только те его участки, которые выходят за границы эк-рана, и экран соответствующим образом модифицируется. Практически, экран отображает на плоскости рисунка проекцию участка поверхности, который соответствует построенным к данному моменту элементам поверхности. Для экономного задания экрана на картинной плос-кости вводится физическая сетка и экран определяется с точностью до этой сетки.
B § 8.4 описан еще один способ построения проекций трехмерных объектов (см.также СПИСОК ЛИТЕРАТУРЫ). Для создания эффекта глубины в нем используется метод ореола, когда дальние, невидимые отрезки стираются не полностью, но в них вносятся разрывы, которые вызваны ореолами вокруг более близких к наблюдателю отрезков.
Основное отличие метода ореола от других способов удаления невидимых линий состоит в том, что он позволяет работать с неструктурированной графической информацией, т.е. он предназначен для изображения объектов, представленных в виде неупорядоченной совокупности отрезков прямых.
C точки зрения быстродействия первый и второй методы обладают преимуществом по сравнению с третьим и четвертым, поскольку время их работы линейно зависит от числа изображаемых отрезков, тогда как у третьего и четвертого наблюдается зависимость более высокого порядка.
8.1.1. Преобразование координат в трехмерном пространстве
8.1.2. Построение проекций поверхностей. Удаление невидимых линий
8.1.3. Построение проекций пространственных кривых
8.1.4. Примеры
8.2.1. Aлгоритм удаления невидимых линий
8.2.2. Bыбор ракурса
8.2.3. Описание программ
8.2.4. Примеры
8.3.1. Tриангуляция
8.3.2. Построение центральных проекций
8.3.3. Экранирование
8.3.4. Описание программ
8.3.5. Примеры
8.3.6. Служебные программы
8.4.1. Особенности метода ореола
8.4.2. Описание метода ореола
8.4.3. Повышение эффективности алгоритма окружения ореолом
8.4.4. Программная реализация алгоритма окружения ореолом
8.4.5. Примеры