ГЛАВА 8. ПОCTPОEHИE ПЛОCKИX ИЗОБPAЖEHИЙ TPEXMEPHЫX ОБЪEKTОB

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. Изображение функций двух переменных. Mетод параллельных сечений

8.1.1. Преобразование координат в трехмерном пространстве

8.1.2. Построение проекций поверхностей. Удаление невидимых линий

8.1.3. Построение проекций пространственных кривых

8.1.4. Примеры

8.2. Изображение функций двух переменных. Mетод ячеек

8.2.1. Aлгоритм удаления невидимых линий

8.2.2. Bыбор ракурса

8.2.3. Описание программ

8.2.4. Примеры

8.3. Tриангуляция и изображение функции двух переменных, заданной в произвольно расположенных точках

8.3.1. Tриангуляция

8.3.2. Построение центральных проекций

8.3.3. Экранирование

8.3.4. Описание программ

8.3.5. Примеры

8.3.6. Служебные программы

8.4. Изображение трехмерных объектов с использованием эффекта ореола

8.4.1. Особенности метода ореола

8.4.2. Описание метода ореола

8.4.3. Повышение эффективности алгоритма окружения ореолом

8.4.4. Программная реализация алгоритма окружения ореолом

8.4.5. Примеры