WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Pages:     | 1 || 3 | 4 |   ...   | 5 |

«В.М. Гасов, А.М. Цыганенко ТРЕХМЕРНАЯ ГРАФИКА В МЕДИАИНДУСТРИИ Учебник Допущено УМО по образованию в области полиграфии и книжного дела для студентов высших учебных заведений, обучающихся по специальностям: 230102.65 – ...»

-- [ Страница 2 ] --

Известны также технологии, позволяющие создавать трехмерные образы аппаратными методами трехмерного моделирования без применения программных пакетов трехмерной графики. Однако следует отметить, что ни одна из них не достигла уровня общепринятого стандарта. По всей видимости, это объясняется тем, что каждая из существующих технологий, помимо свойственных только ей преимуществ, имеет и свои недостатки. Так, одни требуют трудоемкой деятельности человека, а другие весьма несовершенны или их возможности ограничены недостаточной разрешающей способностью современных цифровых средств ввода-вывода.

Для трехмерного сканирования можно использовать технологии двух типов: контактные и бесконтактные. Первые подразумевают наличие механического устройства — «щупа», при помощи которого в компьютер считываются координаты выбранных оператором точек. Система позиционирования и считывания координат таких приборов построена на основе работы механических датчиков, аналогичных тем, что используются в оптико-механических манипуляторах «мышь». Они закреплены в каждом шарнире крепления «щупа», и именно от точности этих датчиков и зависит точность работы прибора пространственного сканирования в целом.

Бесконтактные 3D-сканеры являются значительно более сложными приборами, в которых заложены алгоритмы создания пространственных каркасов. Так, во многих из них используется двойная (дополняющая основную) система ввода координат геометрического объекта. Многие устройства совмещают лазерные датчики, заменяющие механический «щуп», используемый в контактных 3D-сканерах, а также цифровой фотоаппарат, который применяется для повышения точности сканирования, и позволяет получить модели объектов с наложенными текстурами.

В последнее время начали появляться системы 3D-сканирования на базе ультразвуковых установок, преимуществом которых перед прочими системами является режим сканирования тел с внутренней структурой или тел, находящихся в какой-либо однородной среде. Также в настоящее время активно ведутся разработки магнитных сканеров, использующих для определения пространственных координат изменение пространственного магнитного поля.

Как правило, процесс ввода трехмерной графики осуществляется с участием человека. Например, когда пользователь указывает сканером очередную точку, она появляется в рабочем окне программного редактора. Когда количество точек достаточно для построения модели, пользователь может обратиться к любой из многочисленных функций редактора для построения контурных кривых, сечений, а затем и объемной фигуры по этим сечениям.

При вводе данных о трехмерных графических изображениях, например, «пересеченного» рельефа местности, используется фотографический способ сканирования. Он предусматривает получение трехмерной модели программным путем из множества фотоснимков, сделанных в различных ракурсах. К тому же модель можно сканировать с текстурами достаточно высокого качества.

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

Наименьшей областью пространства, которая может быть занята каким-то объектом, является точка. Положение каждой точки определяется тройкой чисел, называемых координатами.

Примером координат может служить тройка (0; 0; 0), определяющая центральную точку трехмерного пространства, называемую также началом координат. Другими примерами координат могут являться тройки чисел (200; 674; 96) или (23; 67; 12), размерность которых определяется используемой системой координат.

Каждая точка трехмерного пространства имеет три координаты, из которых одна определяет высоту, другая – ширину, третья – глубину положения точки. Таким образом, через каждую точку можно провести три координатных оси киберпространства.

Представление точек осуществляется:

• на плоскости (x, y);

• в трехмерном пространстве (x; y; z).

Хотя для определения положения точки в трехмерном пространстве достаточно иметь три координаты (x, y, z), часто положение точки в трехмерном пространстве определяется в виде четырехмерного вектора (x, y, z, 1) или (X, Y, Z, H).

Следующим уровнем обобщения являются графические (геометрические) примитивы. Наиболее простым примитивом вывода является линия (вектор). Линией называют отрезок, соединяющий две точки в трехмерном пространстве. Если соединить две точки в киберпространстве, то будет создана линия (line).

Например, соединяя точки (0; 0; 0) и (5; 5; 0) получается линия.

Если продолжить эту линию, соединив ее конец с точкой (9; 3; 0), то получится ломаная линия (полилиния), то есть линия, состоящая из нескольких сегментов. Если соединить последнюю точку ломаной с первой, то получится замкнутая плоская форма, то есть форма, у которой есть внутренняя и наружная области. Созданная фигура в простейшем случае представляет собой трехсторонний многоугольник (polygon), называемый также гранью (face). В общем случае грани могут иметь форму многоугольников. Грани составляют основу объектов, создаваемых в виртуальном трехмерном пространстве. У любого многогранника имеются следующие базовые элементы: вершина, ребро, грань.

Вершина (vertex) – это точка, в которой соединяется любое количество линий. Грань (face) – это фрагмент пространства, ограниченный ребрами многоугольника. Ребро (edge) – это линия, формирующая границу грани.



В принципе можно создать трехмерный мир, состоящий из линий и точек, но этот способ представления обычно используется на ранних этапах визуализации трехмерных объектов и не использует все многообразие существующих геометрических примитивов вывода. В частности, объединяя линии в замкнутые плоские контуры, получим геометрический примитив – грань. Из граней можно создать графический сегмент или объект. По каждой из граней можно провести расчет освещенности, присвоить ей определенный цвет, свойства материала или задать текстуру.

В результате трехмерный объект приобретает вид, иллюстрирующийся рис. 2.9.

Рис. 2.9. Пример использования граней, закраски и освещенности В большинстве трехмерных сцен объекты строятся на основе граней, представляющих собой плоские треугольники. Это объясняется тем, что при любых деформациях треугольная грань сохраняет плоский вид. Тем не менее, при построении трехмерных фигур сферического или эллипсоидального типа, в виде граней широко применяются пяти- или шестиугольники.

Следует отметить, что замена фрагментов криволинейных поверхностей на плоские грани приводит к визуальным искажениям формы объектов. С тем, чтобы минимизировать такие визуально воспринимаемые искажения, стараются уменьшить размеры граней. Однако уменьшение размеров граней приводит к резкому увеличению их количества, а это, в свою очередь, требует использования вычислительных средств более высокой производительности.

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

и криволинейных поверхностей При создании изображений формы объектов трехмерной графики в настоящее время широкое использование нашли примитивы вывода в виде разнообразных кривых линий и криволинейных поверхностей.

Кривые линии строятся, в основном, с помощью следующих методов:

• интерполяции и экстраполяции по точкам;

• вычисления конических сечений;

• расчета пересечения поверхностей;

• выполнения преобразований кривой;

• синтеза замкнутых или разомкнутых контуров из отдельных примитивов или сегментов (например, отрезков прямых, дуг конических сечений, кривых произвольной формы и т. д.).

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

Параметрическое представление кривых выбирается по целому ряду причин, в том числе потому, что, например, геометрические формы объекта могут иметь вертикальные касательные. При этом аппроксимация кривой y = f (x) аналитическими функциями была бы невозможной. Кроме того, кривые, которые надо визуализировать, могут быть неплоскими и незамкнутыми. К тому же, параметрическое представление обеспечивает независимость представления кривых от выбранной системы координат и соответствует процессу их визуализации на устройствах. При этом позиция текущей точки определяется в виде двух независимых функций времени x (t) и y (t).

Как уже говорилось, существует много методов описания параметрических кубических кривых. В настоящее время в трехмерной графике широко применяются криволинейные поверхности, для создания которых используются различных программы трехмерного моделирования. При этом могут использоваться такие способы задания криволинейных поверхностей, как:

• аналитический (при помощи математических уравнений);

• каркасный способ;

• кинематический (использующий перемещение линий в пространстве);

• интерполяционный;

• деформации исходной поверхности;

• построение поверхности эквидистантной к исходной;

• использование операций добавления или удаления в структуре объекта;

• применение теоретико-множественных (булевские) операций и т. д.

Как известно, составлением уравнений поверхностей занимается аналитическая геометрия. Она рассматривает криволинейную поверхность как множество точек, координаты которых удовлетворяют некоторому исходному уравнению. Так, на рис. 2. приведен пример криволинейной поверхности, заданной аналитически с помощью системы алгебраических уравнений.

Рис. 2.10. Пример криволинейной поверхности, При каркасном способе задания кривая поверхность представляется в виде совокупности некоторого количества линий, принадлежащих поверхности. В качестве линий, образующих каркас, как правило, берут семейство линий, получающихся при пересечении криволинейной поверхности рядом параллельных плоскостей.

При кинематическом способе задания поверхности каждая криволинейная поверхность рассматривается как совокупность последовательных положений некоторой образующей кривой линии, перемещающейся в пространстве по определенному закону. Образующая линия при своем движении может оставаться неизменной, а может изменять свою форму. Закон перемещения образующей линии, как правило, задается при помощи направляющих линий и алгоритма перемещения образующей по направляющим. Обычно на чертеже кинематическая кривая поверхность задается при помощи ее определителя. Определителем поверхности называют совокупность условий, необходимых и достаточных для задания поверхности в пространстве.

Для того, чтобы построить поверхность, необходимо предварительно выявить ее определитель. Определитель поверхности выявляется путем анализа способов образования поверхности или ее основных свойств. В общем случае поверхность может быть образована несколькими способами и поэтому может иметь несколько определителей. Обычно из всех способов образования поверхности выбирают простейший. В общем случае определитель поверхности состоит из двух частей:

• геометрической части, включающей совокупности геометрических фигур, с помощью которых можно образовать криволинейную поверхность;

• алгоритмической части – алгоритма формирования поверхности при помощи фигур, входящих в геометрическую часть определителя.

Кривые поверхности разделяются на линейчатые и нелинейчатые, закономерные и незакономерные.

Линейчатыми (рис. 2.11) называют поверхности, образованные произвольным перемещением прямой линии. В противном случае поверхность называется нелинейчатой. Линейчатые поверхности и принципы их построения широко освещены в учебной литературе по начертательной геометрии, и, в частности, в работах В.М. Аристова, С.Ю. Губанова, Н.П. Сенигова, В.Т. Тозика и др. Поэтому в данной работе приведем лишь наиболее характерные примеры линейчатых поверхностей.

Рис. 2. 11. Общая классификация линейчатых поверхностей Если поверхность может быть задана каким-либо уравнением, она называется закономерной, в противном случае – незакономерной, или графической. Незакономерные криволинейные поверхности задаются только соответствующим чертежом.

Закономерные поверхности в зависимости от вида уравнения разделяются на алгебраические и трансцендентные. Алгебраическое уравнение n-й степени (в декартовых координатах) задает алгебраическую поверхность n-го порядка. Алгебраическая поверхность n-го порядка пересекается плоскостью по кривой n-го порядка, а с прямой линией – в n точках. Плоскость, описываемую уравнением первой степени (с произвольной плоскостью пересекается по прямой линии, а с прямой – в одной точке), можно рассматривать как поверхность первого порядка. Трансцендентные поверхности порядка не имеют.

Наибольшее распространение в машинной 3D-графике получили линейчатые криволинейные поверхности с образующими постоянной формы. Особенностью этих поверхностей является то, что через любую точку линейчатой поверхности можно провести, по крайней мере, одну прямую, целиком принадлежащую поверхности. Множество таких прямых представляет собой непрерывный каркас линейчатой поверхности.

Развертывающиеся. Поверхность называется развертывающейся, если она путем изгибания может быть совмещена с плоскостью без образования складок и разрывов. Все многогранные поверхности являются развертывающимися. Из криволинейных поверхностей этим свойством обладают только те линейчатые поверхности, которые имеют ребро возврата.

На рис. 2.12 приведен пример развертывающейся поверхности, называемой цилиндрической.

Рис. 2.12. Пример цилиндрической развертывающейся поверхности Приведенная цилиндрическая поверхность образуется движением прямой линии, скользящей по некоторой неподвижной замкнутой или незамкнутой кривой и остающейся параллельной своему исходному положению. Множество прямолинейных образующих представляет собой непрерывный каркас цилиндрической поверхности. Через каждую точку поверхности может проходить одна прямолинейная образующая.

Неподвижная кривая m(m1 m2), по которой скользит образующая l (l1 l2), называется направляющей. Если направляющая линия является кривой второго порядка, то и цилиндрическая поверхность будет второго порядка. Геометрическая часть определителя цилиндрической поверхности состоит из направляющей линии m и исходного положения образующей l. Алгоритмическая часть определителя состоит из указания о том, что любая образующая поверхности может быть построена как прямая, пересекающая кривую m и параллельная прямой l.

На рис. 2. 13 приведен пример конической поверхности.

Рис. 2.13. Пример конической поверхности Коническая поверхность образуется движением прямой линии, скользящей по некоторой неподвижной замкнутой или незамкнутой кривой и проходящей во всех своих положениях через неподвижную точку.

Если направляющая линия является кривой второго порядка, то и коническая поверхность будет второго порядка. Часть замкнутой конической поверхности, ограниченная вершиной и какой-либо плоскостью, пересекающей все ее образующие, называется конусом.

В пакетах трехмерной графики широко используются поверхности вращения.

Под поверхностями вращения понимаются поверхности, образованные путем вращения некоторой образующей линии вокруг прямой (оси поверхности вращения), расположенной в плоскости этой линии. Примерами поверхностей вращения могут служить: сфера (которую можно рассматривать как поверхность, образованную вращением полуокружности вокруг её диаметра), эллипсоид вращения (образуется вращением эллипса вокруг большой или малой оси), параболоид вращения (образуется вращением параболы вокруг ее оси), однополостный гиперболоид вращения (образуется вращением гиперболы вокруг ее мнимой оси), двухполостный гиперболоид вращения (образуется вращением гиперболы вокруг ее действительной оси) и другие.

Рис. 2.14. Пример поверхности вращения На рис. 2.14 приведен пример поверхности вращения. Линии пересечения поверхности вращения с плоскостями, проходящими через её ось, называются меридианами; линии пересечения поверхности вращения с плоскостями, перпендикулярными оси, – параллелями. Если по оси поверхности вращения направить ось Oz прямоугольной системы координат Oxyz, то параметрические уравнения поверхности вращения можно записать следующим образом:

где f(u) – функция, определяющая форму меридиана, а u – угол поворота плоскости меридиана.

Гиперболический параболоид. Под гиперболическим параболоидом или косой плоскостью понимают криволинейную поверхность, образованную движением прямой линии, которая скользит по двум скрещивающимся прямым и остается во всех своих положениях параллельной некоторой плоскости параллелизма. Косая плоскость имеет два семейства прямолинейных образующих и две плоскости параллелизма. Образующие одного семейства – скрещивающиеся прямые. Каждая образующая одного семейства пересекает все образующие второго. Поэтому через каждую точку поверхности проходят две прямолинейные образующие разных семейств.

При пересечении косой плоскости соответствующими плоскостями в сечении можно получить параболы и гиперболы.

Геометрическая часть определителя косой плоскости состоит из направляющих прямых и плоскости параллелизма. Алгоритмическая часть определителя состоит из указания о том, что любая образующая поверхности может быть построена как прямая, пересекающая направляющие прямые и параллельная плоскости параллелизма.

На рис. 2.15 приведен пример косой плоскости (а) и гиперболического сечения (б) рассматриваемой криволинейной поверхности.

Рис. 2.15. Пример формирования косой плоскости (а) В трехмерной графике могут использоваться и другие типы криволинейных поверхностей, например, линейчатые винтовые поверхности (геликоиды), которые широко используются при создании изображений винтовых пар (винт-гайка). На рис. 2.16 приведен пример внешнего вида геликоида.

В некоторых пакетах используются каналовые и циклические поверхности. Каналовой принято называть поверхность, образованную непрерывным каркасом замкнутых плоских сечений, определенным образом ориентированных в пространстве. Площади этих сечений могут оставаться постоянными или монотонно изменяться в процессе перехода от одного сечения к другому.

Каналовые поверхности могут быть использованы для создания переходных участков между двумя поверхностями.

На рис. 2.17 приведены примеры внешнего вида каналовых поверхностей, получивших название поверхности Эшера (а), трубчатой (б) и циклической поверхности (в).

Рис. 2. 17 а, б. Примеры каналовых поверхностей В программных пакетах 3D-графики в зависимости от предметной ориентации программной среды могут использоваться те или иные кривые линии и криволинейные поверхности. Так, в пакете 3D Studio MAX, например, могут создаваться поверхности вращения, проекции и общий вид одной из которых приведен на рис. 2.18.

Рис. 2.18. Поверхность вращения, созданная в среде 3D Studio Max Рассмотренные выше криволинейные поверхности широко используются в качестве примитивов вывода при построении объектов трехмерной графики, а также могут иметь самостоятельное значение. В данном параграфе все кривые и криволинейные поверхности рассматривались с точки зрения начертательной геометрии (т. е. кинематический способ), что обусловлено простотой описания и наглядностью примеров. В дальнейшем будет рассмотрено математическое описание процессов их построения и преобразования.

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

Причем, изображения сцен могут осуществляться в различных проекциях, наиболее адекватных соответствующим предметным областям. Например, могут использоваться аксонометрические проекции, выполненные по правилам проекционного черчения.

Широкий класс современных систем использует так называемые «ренесансные» проекции, в наибольшей степени соответствующих восприятию человеком окружающего мира.

Поэтому можно выделить две основные задачи, связанные с представлением трехмерных тел, – построение сцен с изображениями существующих объектов и синтез изображения не существующего в природе объекта. Последний случай наиболее характерен для виртуальной реальности.

При решении первой задачи в общем случае может потребоваться задание бесконечного количества координат точек. Чаще же всего объект с той или иной точностью аппроксимируют некоторым конечным набором элементов, например, поверхностей, тел вращения и т. п.

При решении второй задачи, выполняемой чаще всего в интерактивном режиме, основное требование к средствам формирования и представления виртуального объекта – удобство манипулирования формами.

В связи с этим для представления трехмерных объектов используются:

• каркасное представление, когда поверхность объекта описывается набором ребер;

• поверхностное, когда объект описывается набором ограничивающих его фрагментов поверхностей;

• модель сплошных тел, когда объект формируется из отдельных базовых геометрических объемных элементов, объединенных с помощью операций объединения, пересечения, вычитания и преобразований в единое целое.

В данном параграфе рассмотрены некоторые вопросы математического описания процессов полиномиальной аппроксимации сложных (аналитически не описываемых) кривых и поверхностей. В качестве базисных функций этого приближения использованы полиномы Бернштейна, имеющие меньшую погрешность, чем полиномы в стандартной форме.

Элементы изображений трехмерных объектов. При формировании трехмерных сцен и объектов используются:

• двухмерные элементы (точки, прямые, отрезки прямых, окружности и их дуги, различные плоские кривые и контуры);

• поверхности (плоскости, поверхности, представленные семейством образующих, поверхности вращения, криволинейные поверхности);

• объемные геометрические элементы (параллелепипеды, призмы, пирамиды, конусы, произвольные многогранники и т. п.).

Из этих элементов с помощью различных операций формируется внутреннее представление объектов.

Для формирования геометрических элементов трехмерного объекта используются два основных способа – это построение по заданным отношениям (ограничениям) и построение с использованием преобразований.

Построение с использованием отношений заключается в том, что задаются: элемент, подлежащий построению, и список отношений и элементы, к которым применяются отношения. Например, построение прямой, проходящей через точку пересечения двух других прямых и касательную к окружности.

Известны два способа реализации построения по отношениям – общий и частный.

При общем способе реализации построение по заданным отношениям можно представить в виде двухшаговой процедуры:

• на основе заданных типов отношений, элементов и параметров строится система алгебраических уравнений;

• решается построенная система уравнений.

Очевидное достоинство такого способа – простота расширения системы. Для введения нового отношения достаточно просто написать соответствующие уравнения.

Основные проблемы такого способа заключаются в следующем:

• построенная система уравнений может иметь несколько решений, поэтому требуется выбрать одно из них, например, в диалоговом режиме;

• система уравнений может оказаться нелинейной, решаемой приближенными методами, что может потребовать организации диалога для выбора метода(ов) приближенного решения.

В связи с отмеченными проблемами общий подход реализован только в наиболее современных системах и требует достаточно высокий уровень подготовки разработчиков в области вычислительной математики.

Большинство же систем реализует частный подход, заключающийся в том, что для каждой триады, включающей строящийся элемент, тип отношения и иные элементы, затрагиваемые отношением, пишется отдельная подпрограмма (например, построение прямой, касательной к окружности в заданной точке). В дальнейшем, требуемое построение осуществляется выбором соответствующего пункта из меню и вводом соответствующих данных.

Преимуществом такого подхода является простота создания системы. Однако к недостаткам можно отнести то, что разработчику приходится создавать и использовать весьма разветвленные меню с большим числом опций, так как число требуемых вариантов построения может исчисляться сотнями.

Расширение системы, реализуемое добавлением новой подпрограммы, требует ее перепроецирования, по крайней мере, в части обеспечения доступа пользователя к новым возможностям. В некотором смысле примером этого подхода может служить система AutoCAD фирмы Autodesk.

Построение с использованием преобразований. Общий алгоритм построения нового объекта с использованием преобразований можно представить в следующем виде:

• задается преобразуемый объект;

• задается преобразование (это может быть обычное аффинное преобразование, определяемое матрицей, или некоторое деформирующее преобразование, например, замена одного отрезка контура ломаной);

• выполнение преобразования; в случае аффинного преобразования для векторов всех характерных точек преобразуемого объекта выполняется умножение на матрицу; для углов вначале переходят к точкам и затем выполняют преобразование.

Построение поверхностей. Широко используются бикубические параметрические фрагменты, с помощью которых сложная криволинейная поверхность аппроксимируется набором отдельных фрагментов с обеспечением непрерывности значения функции и первой (второй) производной при переходе от одного фрагмента к другому. В общем случае представление бикубического параметрического фрагмента имеет вид x(s, t) = A11 s3 t3 + A12 s3 t2 + A13 s3 t + A14 s3 + A21 s2 t3 + A22 s2 t2 + Здесь приведена формула для x-координаты. Для других координат формула аналогична.

Аналогично случаю с параметрическими кубическими кривыми, наиболее применимыми являются: форма Безье, форма В-сплайнов, форма Эрмита.

Методы полиномиальной аппроксимации двухмерных обводов. Для конструирования криволинейных поверхностей с помощью стандартных параметрических полиномов, полиномов Бернштейна и NURBS в современных графических системах и программных пакетах применяют три основных метода:

• тензорного произведения (tensor product surfaces);

• каркасный (lofting surfaces);

• булевой суммы (transfinite method).

Рассмотрим возможности этих методов, взяв в качестве базового геометрического описания рациональные параметрические кривые Безье (частный случай NURBS).

Метод тензорного произведения.

По заданному массиву P = {Pij, = 0,1,...,n, j = 0,1,...,n} рациональная поверхность, определяется уравнением B n (u), B n (v) – полиномы Бернштейна;

wij – весовые коэффициенты (wij > 0).

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

Параметрические уравнения, определяющие рациональную поверхность Безье, часто записывают в матричной форме:

где M [wij Pij] = S – U = [1 u – – – un] – матрица параметра u;

V = [1 v – – – vn]T – матрица параметра v;

M = [mij], mij = (- 1) j - 1 a j ka i k – матрица коэффициентов.

Основные свойства рациональных поверхностей Безье:

• поверхность полностью определяется набором вершин характеристической сетки Pij;

• поверхность лежит в выпуклой оболочке точек Pij;

• самой поверхности в общем случае принадлежат только четыре угловые точки сетки. В этих точках касательные плоскости поверхности совпадают с плоскостями угловых граней характеристической сетки;

• граничными кривыми порции поверхности являются рациональные кривые, управляемые набором точек и соответствующих весов;

• рациональная поверхность Безье аффинно- и проективно-инвариантна;

• формой поверхности можно управлять путем подбора вершин характеристической сетки и соответствующих весовых коэффициентов.

Каркасный метод. С помощью этого метода поверхность определяется семейством кривых. Уравнение поверхности записывается в виде:

Метод булевой суммы (поверхности Кунса). В случае конструирования поверхности методом Кунса необходимо задать два семейства граничных кривых (в u- и v-направлениях). Уравнение поверхности Кунса имеет вид:

Граничные кривые представляют собой рациональные кривые Безье, управляющие точки которых получены с помощью методов интерполяции исходных точек поверхности, внутренние точки порции поверхности вычисляются с помощью билинейной интерполяции в двух направлениях. Обобщением поверхностей Кунса являются поверхности, интерполирующие всю заданную криволинейную сетку 0 u M, 0 v N (поверхности Гордона).

При моделировании поверхностей с помощью рассмотренных методов предполагается, что исходные данные в виде массивов точек, характерных линий поверхности или определяющих их функций, выполнены дизайнерами, либо получены в результате решения прикладных задач, сняты с натурных макетов или, наконец, получены в процессе физических экспериментов.

Для интерактивного процесса формирования изображения объекта и последующей модификации двухмерных обводов наиболее приспособлены методы тензорного произведения, в которых в качестве базовых используются полиномы Бернштейна и связанные с ними методы построения характеристических сеток.

Необходимо отметить, что в ряде случаев построения сложных криволинейных двухмерных обводов целесообразно использовать топологически непрямоугольные (в частности, треугольные) элементы поверхностей. В этом случае математическое задание обводов производится с помощью обобщенных полиномов Бернштейна.

Рассмотрим примеры построения сплайновых поверхностей на основе использования уравнений элементарной бикубической поверхности Безье и бикубической B-сплайновой поверхности.

Сплайновые поверхности. Регулярной поверхностью называется множество точек M(x, y, z) пространства, координаты x, y, z которых определяются из соотношений:

где x(u, v), y(u, v), z(u, v) – гладкие функции своих аргументов, причем выполняется соотношение:

D – некоторая область на плоскости параметров u и v.

В каждой точке регулярной поверхности существует касательная плоскость и эта плоскость при непрерывном перемещении по поверхности текущей точки изменяется непрерывно (рис. 2.19).

Параметрические уравнения поверхности можно записать в векторной форме:

Рис. 2.19. Поверхность в трехмерном пространстве Если параметрические уравнения элементарного фрагмента этой поверхности составить различными способами, то свойства получаемых поверхностей будут отличаться.

Параметрические уравнения элементарной бикубической поверхности Безье имеют вид:

Элементарная бикубическая поверхность Безье наследует многие свойства элементарной кубической кривой Безье:

• лежит в выпуклой оболочке порождающих ее точек;

• является гладкой поверхностью;

• упираясь в точки P00, P03, P30, P33, касается исходящих из них отрезков контрольного графа заданного набора.

Однако в общем случае для поверхности Безье не выполняется условие гладкости.

Рис. 2.20. Фрагмент бикубической B-сплайновой поверхности Векторное параметрическое уравнение элементарного фрагмента бикубической B-сплайновой поверхности (рис. 2.20), порожденной набором 16 точек Vij i = 0, 1, 2, 3, j = 0, 1, 2, 3, имеет следующий вид:

Полученная поверхность так же, как и поверхность Безье, лежит в выпуклой оболочке порождающих ее 16 вершин, но в отличие от бикубической поверхности Безье элементарная бикубическая B-сплайновая поверхность является гладкой.

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

2.6. Объекты в пакетах 3D-графики Трехмерные объекты или сцены в компьютере представляются в виде математического описания совокупности примитивов, их координатной привязки, ориентации в пространстве, логических уравнений объединения примитивов, их атрибутов и набора операций, осуществляющих преобразование этого набора данных в трехмерную модель при визуализации графической информации, или существующую в сознании разработчика.

В общем случае создаваемая трехмерная модель объекта – это физически представимый объект, при проецировании которого на соответствующую координатную плоскость получается фигура.

Эта фигура создает визуальное впечатление объекта (в отличие от трехмерной модели), который может первоначально существовать только в воображении человека.

Модель объекта должна быть определенным образом перестроена, чтобы создать эффект реалистичности независимо от точки обзора (наблюдения). Компьютер предоставляет нам возможность, которая позволяет непрерывно изменять трехмерную модель при изменении точки обзора таким образом, что проекция трехмерной модели на плоскость будет удовлетворять определенным правилам.

Обычно объекты задаются, как:

• двухмерные объекты. Они задаются с помощью примитивов векторной графики;

• трехмерные объекты. При их создании применяются трехмерные примитивы вывода.

Современные системы моделирования трехмерной графики позволяют получить трехмерные объекты в двух режимах:

• в режиме интерактивного взаимодействия пользователя с программной средой;

• в автономном режиме.

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

В системах, использующих при построении объектов конструктивную геометрию сплошных тел, примитивы можно комбинировать с помощью трехмерных теоретико-множественных операций: объединение (соединение двух объектов); пересечение (выделение общего подмножества); разность (взятие всего первого объекта, за исключением тех его частей, которые являются общими со вторым объектом).

Косвенное задание объектов производится в системах с граничным представлением. Оно также дает возможность выполнять теоретико-множественные операции, однако при этом объект определяется как ограниченный плоскими гранями, цилиндрическими гранями или даже участками поверхности, заданными полиномиальными функциями. Такое описание поверхностей особенно широко используется при построении объектов искусственного происхождения (автомобили, корабли и т. д.).

Процесс рисования объектов при помощи примитивов достаточно сложен, поскольку требуется мысленно разбить объект на несколько примитивов, которые могут накладываться друг на друга, пересекаться и т. д. Для того чтобы проделывать подобные операции над объектом необходимо иметь хорошее пространственное мышление, постоянно представлять себе объект во всех его основных деталях. Здесь основным режимом работы пользователя является интерактивный режим, позволяющий визуально наблюдать процесс создания объекта.

В общем случае создания объектов на основе примитивов можно разбить на следующие этапы:

• мысленное разбиение исходного объекта на примитивы;

• рисование этих примитивов;

• расположение их по форме объекта (на основе мысленного разбиения, сделанного ранее);

• подгонка размеров и расположения примитивов и объектов;

• присвоение поверхностям объекта закраски, свойств материала и т. д.

Применение рассмотренных подходов для отображения сложных нерегулярных объектов считается нежелательным. Основная проблема при создании подобных объектов – постоянное «видение»

объекта. Можно использовать заранее подготовленные наброски создаваемого объекта либо иметь перед глазами его модель.

Для создания трехмерных объектов различной сложности используются программные средства визуального проектирования – системы моделирования: 3D Studio MAX, Maya, LightWave, RayDream Studio и им подобные.

При создании объекта нужно уделять большое внимание равновесию между степенью детализации объекта и количеством вершин и граней (вышеперечисленные системы моделирования позволяют проверять количество использованных вершин). В идеале количество вершин и граней должно быть минимально, тогда размер выходного файла будет меньше, и скорость передачи информации, ее обработки и последующего отображения возрастет.

Еще одной сложной проблемой является взаимное расположение и связь частей сложного объекта. Поэтому существует несколько программных систем, которые упрощают создание подобных объектов. Примерами могут служить системы автоматической генерации внешнего вида таких объектов, как: человеческое тело, дерево, скалы, берега и другие элементы ландшафта. Так, при создании ландшафтов или деревьев используются фракталы, т. к. с их помощью наиболее просто и быстро достигается нужный результат. Недостатком подобных систем является усредненность получаемых результатов. Однако этот недостаток компенсируется выигрышем в скорости моделирования.

При построении любого трехмерного объекта используется система координат. В общем случае это трехмерная система координат X, Y, Z. Однако в различных программных пакетах трехмерной графики расположение координатных осей и соответствующих координатных плоскостей различно. Так, в 3D Studio MАХ ось Z этой системы координат направлена вертикально вверх, ось Х – вправо, а ось Y – в направлении от наблюдателя (рис. 2.21).

Рис. 2.21. Система координат пакета 3D Studio MAX В программном пакете Мауа ось Y направлена вертикально вверх, ось Х – вправо, а ось Z – в направлении к наблюдателю (рис. 2.22).

Поскольку множество пользователей, знакомых с принципами черчения, создание трехмерных объектов связывают с двухмерными проекциями этого объекта на координатные плоскости (как в программе Autudesk), в программах трехмерной графики используются окна соответствующих проекций.

Так, в пакете 3D Studio MAX используются окна ортографических проекций – Top (Вид сверху), Front (Вид спереди) и Left (Вид слева) (рис. 2.20).

Взгляд на сцену спереди означает наблюдение вдоль оси Y в её положительном направлении. В соответствии с этим, например, на проекции вид спереди ось Х глобальной системы координат будет направлена вправо, ось Z – вверх по экрану, а ось Y – от наблюдателя, перпендикулярно экрану. На проекции вид сверху оси глобальных координат будут располагаться следующим образом: ось Х направлена вправо, Y – вверх по экрану, Z – на наблюдателя, перпендикулярно экрану. Плоскостями, на которых изображаются проекции объектов сцены, по умолчанию являются три плоскости, проходящие через оси глобальной системы координат. Для проекции вид спереди и вид сзади это будет плоскость ZОX, проекций вид сверху и вид снизу – плоскость XОY, а для проекций вид слева и вид справа -- плоскость ZОY.

Помимо перечисленных проекций могут использоваться и другие, например (для пакета 3D Studio MAX):

• окно центральной проекции, характеризующей вид сцены из точки, положение которой может изменяться пользователем (Perspective – Перспектива) (рис. 17);

• окно центральной проекции сцены на плоскость, перпендикулярную линии визирования съемочной камеры. Такие окна позволяют увидеть сцену из точки расположения каждой камеры;

• окно центральной проекции сцены на плоскость, перпендикулярную оси пучка лучей источника света. Такие окна позволяют увидеть сцену из точки расположения каждого направленного источника света или прожектора;

• окно аксонометрической проекции на плоскость, не параллельную координатной плоскости, демонстрирующие вид сцены под углом, который может изменяться пользователем (User – Специальный вид).

• окно ортографической проекции на плоскость, параллельную плоскости XОY локальной системы координат выделенного двухмерного объекта – формы, то есть плоскости, в которой располагается эта форма (Shape – Форма);

• некоторые другие.

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

В большинстве приложений, использующих трехмерную графику, 3D-объекты состоят из множества примитивов, простейшим из которых является многоугольник, размещенный таким образом, что создается реалистичный образ объекта. В частности, сотни или тысячи многоугольников (полигонов), необходимых для одного единственного 3D-объекта, образуют огромный массив данных, который необходимо создать, обработать, присвоить примитивам соответствующие атрибуты и осуществлять управление ими в процессе визуализации.

В качестве примера на рис. 2.23 приведена полигональная сетка объекта, использующая четырехугольные полигоны.

Ребро Нормаль Вершина Рис. 2.23. Элементы полигонов каркасной модели Помимо четырехугольных полигонов могут использоваться и другие типы многоугольников.

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

Так, 3D Studio MAX предоставляет следующие наборы примитивов: стандартные (Standard Primitives) и сложные (Extended Primitives). К числу стандартных примитивов относятся: параллелепипед, сфера, геосфера, конус, цилиндр, труба, кольцо, пирамида, чайник, призма и т. д. Сложными называются примитивы типа: многогранник, тороидальный узел, параллелепипед с фаской, цистерна, капсула, веретено, тело L-экструзии, обобщенный многоугольник и другие.

В указанном пакете термин «объект» относится к любым элементам виртуального трехмерного мира, которые могут включаться в состав сцен и к которым могут применяться преобразования и модификаторы. Однако приведенное выше классическое понимание объекта и примитива не всегда соблюдается.

В 3D Studio MAX предоставляется возможность использовать следующие типы составных объектов:

• Булевские. Объекты этого типа позволяют объединять два или несколько трехмерных тел для получения одного нового.

Этот подход используется для архитектурного моделирования или любых других задач, в которых необходимо вычесть (исключить) объем, занимаемый одним телом, из другого.

• Распределенные. Объекты этого типа представляют собой результат распределения дубликатов одного трехмерного тела по поверхности другого. Этот подход используется для имитации стеблей травы или деревьев на модели ландшафта.

• Соответствующие. Данный тип объектов позволяет заставить одно трехмерное тело принять форму другого. Это подходит для создания таких эффектов, как плавление, таяние или растекание.

• Соединяющиеся. Этот тип объектов позволяет соединить между собой отверстия в двух исходных телах своеобразным тоннелем.

• Слитые с формой. Объекты этого типа позволяют соединять сплайновую форму с поверхностью трехмерного тела.

• Морфинговые. Объекты данного типа позволяют выполнять анимацию плавного преобразования одного тела в другое.

Всю совокупность создаваемых 3D Studio MAX объектов можно условно разделить на категории, разновидности и типы. В качестве категорий объектов используются:

• Геометрия (Geometry).

• Формы (Shapes).

• Источники света (Lights).

• Камеры (Cameras).

• Вспомогательные объекты (Helpers).

• Объемные деформации (Space Warps).

• Системы (Systems).

Все указанные объекты 3D Studio MAX являются параметрическими, то есть при их создании используется определенный набор характеристических параметров, таких как координаты положения объекта, его размеры по длине, ширине и высоте, ориентация, число сегментов или сторон и т. п.

Помимо этого существуют три отдельных типа объектов, не относящихся к рассмотренным выше категориям: Редактируемый сплайн (Editables Spline), Редактируемый путь (Editable Patch) и Редактируемая сетка (Editable Mesh).

Часто употребляемые примитивы и объекты в программных пакетах объединяются в библиотеки. Поскольку они разнообразны и их реальное число бесконечно велико, то используется принцип объединения объектов по их предметной направленности. Так, например, в состав первой группы объектов Геометрия включены Простые и Сложные примитивы. Причем в состав простых примитивов включен объект Чайник (Teapot) (рис. 2.24).

Начиная с шестой версии 3d Studio MAX, в программе появились группы дополнительных объектов (AЕС Extended), включая Двери (Doors), Окна (Windows), Лестницы (Stairs ) и др. Эти объекты служат для проектирования всевозможных архитектурных сооружений.

Группа объектов Двери позволяет создать три типа дверей – Закрепленные на оси, Раздвигающиеся и Складывающиеся (рис. 2.25).

Рис. 2.25. Объекты Двери (Doors) в окне проекции Данные объекты используются в качестве базовых, с тем, чтобы, изменяя параметры, можно было обеспечить необходимые размеры дверной коробки, ширину и глубину рамы, толщину стекла (если оно есть), степень открытия на изображении и т. д.

Группа объектов Окна (Windows) позволяет добавлять в сложный объект шесть типов окон: Раздвигающиеся (Sliding), Закрепленные на оси (Pivoted), Навесные (Awning), Створчатые (Casement), Проектируемые (Projected), Закрепленные (Fixed).

Группа объектов Лестницы (Stairs) служит необходимым инструментом для проектирования архитектуры многоэтажных строений. Она включает четыре базовых типа лестниц: L-образная, прямая, винтовая, U-образная. Отдельно определяется наличие перил с правой и левой сторон. Существует возможность задания конечного множества исходных параметров, например, высота лестницы, толщина и ширина ступенек, путь перил и их высота и т. д.

Для спиральной лестницы дополнительно указывается радиус, наличие опоры – центральная опора, а параметр Расположение задает направление такой лестницы по часовой стрелке и против нее.

В группу дополнительных объектов для архитектурных, инженерных и конструкторских работ (AЕС Extended) входят объекты Растительность (Foliage) (рис. 2.26), Ограждение (Railing) и др.

Для поддержки объекта Растительность создана и включена в состав пакета специальная Библиотека растений (Plant Library).

Следует отметить, что трехмерное моделирование флоры обычно сопряжено с большими трудностями. Поэтому включение в состав пакета 3D Studio MAX объектов типа Растительность в значительной степени ускоряет процесс создания трехмерного изображения.

Рис. 2.26. Пример объектов Растительность (Foliage) Для каждого из создаваемых объектов может быть назначен свой материал или другие атрибуты. В частности, чтобы деревья и кусты не были похожи один на другой, используется параметр «Случайная выборка» (Seed), который определяет случайное расположение веток и листьев объекта.

Объекты: Источники света, Камеры, Объемные деформации интуитивно понятны и не требуют дополнительных пояснений.

Функциональные возможности 3D Studio Max по работе с объектами достаточно широки:

• моделирование геометрической формы любых трехмерных объектов – от простейших, наподобие сферы, цилиндра или прямоугольного параллелепипеда, до таких сложных по форме объектов природного происхождения, как тела животных, деревья или поверхность взволнованной воды;

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

• имитация освещения трехмерной сцены от нескольких источников, и визуализация моделируемых объектов на реальном фотографическом фоне с тенями, отбрасываемыми на этот фон;

• анимация разнообразных параметров объектов: их формы, размеров, пространственного положения, цвета и характеристик материалов и т. п.;

• реализация различных способов управления перемещением или изменением свойств объектов в процессе анимации, обеспечивающих возможность достоверной имитации самых разных типов движений;

• создание связанных иерархических цепочек объектов и их анимация по методам прямой или обратной кинематики, когда движение одного объекта вызывает согласованные перемещения остальных объектов цепочки;

• моделирование постепенных превращений одних объектов в другие, отличающие по форме и внешнему виду (морфинг);

• моделирование динамических свойств движущихся объектов с учетом их соударений, сил тяжести, ветра и упругости;

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

Объекты LIGHTWAVE. В программе LightWave геометрия объекта задается при помощи точек и полигонов (рис. 2.27), являющихся базовыми элементами объектов.

При помощи трех координат можно задать положение точки в окне проекции относительно осей X, Y и Z. Путем ввода этих значений отмечается положение точки и создается на нее ссылка.

Точки – это своеобразные маркеры в трехмерном пространстве. Они нужны как составляющие большой картины. Соединив несколько точек, можно получить полигон – основной элемент компьютерной графики.

Полигон в данной программе представляет собой замкнутую фигуру, вершинами которой являются одна или несколько точек (рис. 2.28).

Программа LightWave оперирует с пятью различными классами полигонов:

• Точечные (One – point). Эти объекты изображаются на экране, как маленькая точка. Объекты данного типа могут быть использованы для создания звезд, искр и других точечных компонент сцены;

• Отрезок (Two – point). Объекты этого типа не имеют поверхности, но они обладают определенными свойствами, которые позволяют отображать их в виде разнообразных линий при создании 3D-изображений;

• Треугольник (Three – point). Это один из самых распространенных типов полигонов. Для изменения его формы достаточно переместить одну или несколько его вершин;

• Четырехугольник (Four – point). Четырехугольник – это достаточно распространенный тип полигонов. Практически все объекты создаются из треугольников и четырехугольников;

• Многоугольник (N – gon). Этот полигон образуется пятью и более вершинами. Используется при создании больших, плоских поверхностей. Однако из-за своей сложности N-угольники в процессе преобразований (например, при вращении) могут терять свою плоскую форму.

При создании полигонов помимо задания точек, определяющих его форму, необходимо указать направление его лицевой поверхности (нормали).

Наряду с полигонами используются и набор примитивов: Шар (Ball), Диск (Disc), Конус (Соnе), Капсула (Capsule), Многогранник (Platonic), Тетраэдр (Tetrahedron), Октаэдр (Octahedron), Икосаэдр (Icosahedron), Мультиквадрант (Super Quadratic),Эллипсоид (Ellipsoid) и другие.

Некоторые примеры примитивов вывода рассматриваемой программы приведены на рис. 2.29.

Объекты Maya. В данном программном пакете в качестве стандартных объектов применяются трехмерные примитивы и геометрические формы, созданные на основе полигональных сеток, NURBS-поверхностей или поверхностей с иерархическим разбиением. Так, в качестве трехмерных примитивов применяются классы сфер, кубов, цилиндров, конусов, торов, плоскостей и т. д.

Появившиеся в последних версиях объемные примитивы позволяют создавать разнообразные атмосферные эффекты, например, туман и другие световые эффекты. Для этого в состав пакета включены средства сплайнового моделирования (Maya Power Modeling), модуль, использующий рисовальную и скульпторскую технику для интерактивной работы с объектами, модуль эффектов (Maya F/X) и др.

При создании объектов в среде Maya используется разнообразный инструментарий, включающий, в частности, инструменты полигонального моделирования. С их помощью можно осуществлять детальное построение объектов, редактирование, наложение материалов на полигональные объекты. Характерной особенностью является иерархия элементов объектов: уровни граней, ребер, точек. Может производиться оптимизация количества полигонов, поддержка световых источников и т. д.

Говоря о создании объектов в различных программных средах, следует отметить, что эти программы базируются на общих методических основах, но имеют свои области применения и функциональные возможности.

В последующих разделах будут рассмотрены некоторые фундаментальные математические аспекты цифровой обработки трехмерной графики, положенные в основу современных графических 3D-пакетов, с конкретными иллюстрациями соответствующих математических преобразований.

2.7. Обобщенный видовой конвейер В соответствии со стандартом ISO 8805 основой системы обработки машинной графики является ядро графической системы (Grafical Kernal System – GKS). В связи с интенсивным развитием трехмерной графики функциональные возможности ядра графической системы были расширены до уровня GKS-3D.

Стандарт GKS-3D является основной графической системой для приложений, создающих трехмерные изображения на устройствах графического вывода. Поддерживается хранение и динамическая модификация изображения. Основой GKS-3D является концепция рабочей станции, состоящей из ряда устройств ввода и единственного устройства вывода. Несколько станций могут использоваться одновременно.

Центральным является понятие видового конвейера, который поддерживает трехмерные конструкции и рассматривает двухмерные операции как частный случай трехмерных преобразований. Допускается адаптация прикладных программ к станции для повышения ее функциональных возможностей. В стандарте определены прикладные программы с возможностью отображения графических примитивов при использовании трехмерных координат и обеспечиваются функции для генерации этих примитивов.

Могут использоваться функции из стандарта ISO 7942. Функции вывода генерируют примеры трехмерных примитивов, которые ориентированы на размещения трехмерного изображения на плоскости.

GKS-3D определяет языковонезависимое ядро графических систем. Для вхождения в язык программирования GKS-3D встраивается на языковозависимом уровне.

Стандарт GKS содержит рекомендации по организации хранения двух и трехмерной графики. В частности, введена концепция метафайла, предусматривающая использование иерархической многоуровневой системы хранения графических данных, базирующейся на уровнях обобщения графических элементов, начиная с пиксельного описания, описания с помощью примитивов и заканчивая уровнями объектов или сцен. В определенном плане это напоминает движение в сторону баз графических данных, которые широко используются в системах реального времени, использующих трехмерную графику (навигационные, геоинформационные, тренажерные системы, трехмерные графические системы управления динамическими объектами и т. д.).

Совокупность этапов обработки трехмерной графики, алгоритмов и программ расчетов (называемых также шейдерами) и аппаратных ресурсов, на которых реализуются эти программы получило название – видовой конвейер. Если абстрагироваться от аппаратной среды обработки графических данных, то мы будем иметь дело с обобщенным видовым конвейером.

Напомним, что в самом общем случае описание трехмерной сцены в современных приложениях содержит:

• список видимых в видовом окне объектов;

• уровень детализации объектов в зависимости от их удаленности от видового окна или камеры; описание систем координат; положение, размер и форму объектов сцены;

• описание свойств поверхности каждого из объектов – цвета, прозрачности, взаимодействия со светом, текстурных координат и текстур;

• обязательно описываются координаты источников света и тип их излучения, а также координаты и параметры видовых окон и камер, присутствующих в сцене.

Всю совокупность процедур обработки трехмерной графики можно условно разделить на этапы или процедуры.

На рис. 2.30 приведен пример обобщенного 3D видового конвейера для системы отображения трехмерной графики, принципы которого используются в различных предметных областях, в том числе, в человеко-машинных комплексах реального времени.

Текстурирование Визуализация Рис. 2.30. Пример структурной схемы обобщенного видового конвейера Приведенные этапы можно разделить на две группы:

• создание объектов и трехмерных сцен;

• процедуры, связанные с созданием реалистичных изображений для их последующей визуализации.

На этапе создания объектов осуществляется разработка его математического или иного описания, которое базируется на системе координат объекта. Это описание не зависит от наличия других объектов, позиции наблюдателя и местонахождения источников освещения. В процессе создания геометрии объекта на основе примитивов осуществляется масштабирование последних, их перемещение, повороты и другие операции, цель использования которых в создании единого объекта из составных частей.

Напомним, что объект существует в памяти ЭВМ как набор цифровых данных и операций объединения примитивов. В этой связи поверхностям или граням объекта присваиваются определенные коды, характеризующие цвет заливки, свойства материала или текстуры поверхностей.

В общем случае созданный объект может наблюдаться (в виртуальном смысле) человеком с любых позиций, будь то вид сбоку либо с высоты птичьего полета.

Однако процесс создания целостного объекта может быть достаточно сложным. Поэтому в некоторых реализациях объект создается под соответствующие значения параметров последующего наблюдения. Например, наблюдатель находится сбоку от объекта и вторая боковая сторона не будет видна ни в коем случае. Это дает возможность создавать лишь часть объекта, которая будет видна наблюдателю. Правда, вторая половина симметричных объектов в случае зеркального подобия строится на основе использования операций отражения и не представляет особой сложности. Однако такой подход в целом существенно сокращает процесс создания объекта.

Для создания сцены осуществляется размещение объектов на сцене. Для этого требуется произвести определенные преобразования. В первую очередь производится перевод координат объекта в координатную систему сцены, которая в общем случае может не совпадать с исходной системой координат объекта. Например, размещение различных строений на поверхности земли требует использования геодезической привязки объектов, и однозначного определения положения объекта в геодезической системе координат, их ориентацию и т. д. При этом приходится выполнять операции плоско-параллельного перемещения объекта, его повороты или вращение и другие преобразования.

Операции преобразования координат между различными системами часто называют трансформацией, которая с математической точки зрения описывается матрицами преобразования.

Создание объектов и сцен представляет собой творческий процесс, качество и время выполнения которого существенно зависит от способностей проектировщика и опыта его работы.

Поэтому на реализацию процедур создания объектов и сцен отсутствуют жесткие требования по времени. Особенностью этого процесса является то, что объекты и сцены создаются один раз, а их визуализация может быть многократной.

Созданные объекты машинной графики обычно сохраняются в виде метафайлов. Однако, если площадь представленной в цифровом виде информации значительно превышает размеры сцены, выводимой на экран, то используются базы графических данных.

Например, в базе графических данных может храниться трехмерная информация по рельефу поверхности вдоль всего маршрута полета самолета, однако в каждый дискретный момент визуализируется лишь ее часть, соответствующая местоположению самолета в данный момент времени. Поэтому данные представляются в виде базы графических данных, с сетевой или иерархической структурой организации хранения данных. В таких базах данных вся поверхность земли разбивается на зоны (обычно квадратной формы). Для этих целей служит система разграфки. Такой подход позволяет разделить объекты по определенным зонам, например, географическим, и упростить процесс поиска объектов, подлежащих визуализации.

Зоны трехмерного пространства представляются в базах графических данных в виде блоков хранения.

Как правило, базы графических данных, особенно трехмерных, содержат огромные объемы информации. Поэтому после создания объектов и их размещения в соответствующих зонах осуществляется сжатие графических данных. Для раскрытия блоков хранения требуются алгоритмы декодирования, которые увеличивают время подготовки трехмерных данных для их визуализации. А, поскольку, процесс визуализации может происходить в реальном времени, то и декодирование должно также осуществляться в этом же режиме.

Следует заметить, что чем выше коэффициент сжатия, тем более длительное время требуется для декодирования.

Процесс, связанный с созданием реалистичных изображений 3D-графики для их последующей визуализации, начинается с поиска в базе данных блоков хранения, использующихся при формировании конкретной сцены или объекта.

Процесс формирования изображения объекта или сцены начинается с задания положения наблюдателя и определения той области пространства объекта или сцены, которая попадает в зону видимости наблюдателя. При этом существенную роль играет выбор типа проекции объекта.

На основании координатных расчетов выбираются необходимые блоки хранения и осуществляется их декодирование. Этот процесс имеет специфические особенности, например, при визуализации обстановки для перспективной проекции удается однозначно определить границу начала визуализации и боковые границы зоны видимости. А вот по глубине трехмерного изображения таких однозначных выводов сделать не удается. Действительно, чем ближе к горизонту, тем размеры объектов становятся меньше.

Но как обоснованно выбрать границу дальности (глубину) зоны визуализации? Здесь приходится учитывать свойства динамического объекта, на котором размещается наблюдатель. А на дальней границе области визуализации создается имитация дымки, в которой «растворились» более удаленные объекты.

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

К найденным блокам хранения или к файлам применяется процедура отсечения объектов или их частей, не вошедших в зону визуализации. Для выполнения этой операции используются трехмерные отсекатели. Наиболее часто используются отсекатели в виде параллелепипеда, усеченной пирамиды или многоугольника.

После отсечения частей объектов, не попавших в зону визуализации, осуществляется удаление невидимых граней объектов и их частей, загораживаемых более близко лежащими объектами.

Для реализации этих операций используются алгоритмы удаления невидимых линий, граней и плоскостей в режиме работы с пикселами изображения.

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

Для расчета освещенности граней и поверхностей объекта вычисляются расстояния от каждой грани до каждого из источников света и углы между направлением на источник света и нормалью грани, поскольку именно от этих параметров зависит освещенность элементов объекта. При этом могут учитываться отражающие свойства материалов, из которых изготовлен объект или его части.

В случае многообъектовых сцен приходится учитывать освещение объекта отраженным светом от других объектов сцены.

В целом эти алгоритмы достаточно просты, однако в связи с большим количеством элементов, составляющих объект (например, полигонов), требуется довольно большое время для обработки данных.

Расчет затенения осуществляется для придания изображению реалистичности. Ведь в реальной жизни каждый освещенный объект отбрасывает тень на соседние объекты или поверхности. Эта задача формулируется как геометрическая, но приходится учитывать особенности освещения. Очевидно, что для направленного и рассеянного света тень будет визуализироваться по разному.

Следующей после расчета теней процедурой является наложение текстур на поверхность объектов. Наложение текстур позволяет эмулировать целый набор таких эффектов, как: цвет, текстуру и микрорельеф поверхности, прозрачность и даже освещенность объекта. Суть текстурирования состоит в определении цвета вершины по заданной текстуре и его запоминании вместе с другими параметрами грани или поверхности объекта.

Для наложения текстур используются текстурные координаты.

По сути, текстурные координаты – это координаты некоторого двухмерного растрового изображения, которое необходимо совместить с координатами грани или поверхности объекта.

Сегодня для решения этих задач созданы соответствующие программы, получившие название модификаторы наложения карт.

В 3D Studio MAX это карты типа plane, box, sphere, cilinder и т. д.

Координатные текстуры могут передаваться, а некоторые могут и генерироваться видеокартой. Видов текстурирования достаточно много. Однако генерация текстур видеокартой возможна, только если вместе с данными будет загружаться соответствующая программа их обработки.

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

На всех предыдущих этапах трехмерное изображение описывалось на уровне примитивов. Однако для того, чтобы его визуализировать на экране устройства вывода, требуется перевести его в пиксельную форму описания. Для этой цели разработаны специальные программные модули, которые получили название генераторы формирования примитивов на растре.

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

В современных программных пакетах трехмерной графики в качестве исходных данных используются:

• список видимых объектов;

• уровень детализации в зависимости от удаленности объекта;

• системы координат;

• координаты вершин объекта в полигонном представлении или формулы аналитического представления;

• цвет вершин;

• описание источников света;

• текстуры;

• текстурные координаты вершин;

• другие данные для вершин (обычно связанные с различными спецэффектами, например, объемным туманом, тенями и др.).

В среде специалистов в области машинной графики используется перечень этапов, принятых для видеокарт:

• этап трансформации, включающий собственно трансформацию и отсечение на уровне полигонов;

• этап расчета освещенности (включает также наложение текстур);

• этап отсечения (интерполяция координат пикселов, отсечение на уровне пикселов, интерполяция данных вершин на пикселы – цвета, текстурные координаты, прозрачность и т. д.);

• этап растрирования (вычисление результирующего цвета пикселов, формирование буфера экрана в видеопамяти по методу Z-буфера);

• этап визуализации (отображение содержимого буфера на экране).

В программах трехмерной графики под видовым конвейером понимается совокупность этапов обработки данных, программ расчетов (называемых также шейдерами) и аппаратных ресурсов, на которых обрабатываются эти программы и сохраняются данные.

В процессе создания и обработки трехмерной графики используются:

• вершинные шейдеры – программы и ресурсы для расчета данных о вершинах;

• пиксельные шейдеры – аналогичные программы, но ориентированные на обработку пикселов.

В такой постановке видовой конвейер может включать:

• этап обработки вершин;

• этап обработки пикселов.

Необходимо напомнить, что создание трехмерных объектов и сцен в программных пакетах осуществляется в интерактивном режиме. Все последующие этапы не требуют участия человека и обрабатываются в автоматическом режиме по данным, введенным ранее. На эту обработку требуется определенное время, которое рассматривается разработчиками как неизбежность.

Другое дело, в графических системах управления, тренажерных комплексах, мультмедийных играх и других подобных приложениях трехмерной графики. В этих системах процедуры, не связанные с созданием объектов и сцен, реализуются в реальном масштабе времени, что налагает довольно высокие требования на быстродействие (или производительность) систем обработки трехмерной графики.

В связи с этим, в процесс обработки графических данных, помимо центрального процессора, включаются графические сопроцессоры и акселераторы (ускорители). Особую актуальность эти проблемы получили в системах трехмерной графики, реализующих задачи управления разнообразными динамическими объектами.

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

Также необходимо отметить, что реалистичные изображения трехмерных объектов и сцен создаются в программных пакетах, для которых общий объем памяти вместе с библиотеками подходит к 1 Гбайту. Поэтому достаточно остро стоит вопрос о визуализации созданных трехмерных объектов и сцен на компьютерах, где данный программный пакет не инсталлирован. Для этих целей в графические файлы созданных изображений трехмерной графики включают специальные программные модули небольшого объема (от 150 Кбайт), с расширением *.exe, которые обеспечивают визуализацию трехмерной графики без использования ресурсов исходного пакета.

МЕТОДЫ ПРОЕЦИРОВАНИЯ

ТРЕХМЕРНЫХ ОБЪЕКТОВ

Для того чтобы отобразить трехмерные объекты на плоскости, необходимо использовать определенные математические модели. В этих моделях учитываются различные факторы, влияющие на визуальное восприятие человеком реальных образов. Процесс перехода от трехмерных объектов к их изображениям на плоскости называется проецированием.

В общем случае, под проецированием понимается математическое преобразование положения множества точек визуализируемого объекта, заданных в системе координат размерностью n, в адекватные точки системы координат размерностью меньшей, чем n.

В практике компьютерной обработки трехмерной графики исходное трехмерное пространство преобразуется в двухмерное пространство изображения на экране монитора или матричной панели.

Итоговое трехмерное изображение трехмерного объекта зависит от положения наблюдателя, направления его взгляда и положения плоскости визуализации. Поэтому математические преобразования при проецировании, в общем случае, адаптируются к условиям наблюдения. Вводится так называемая картинная плоскость, на которой формируется результат.

Получив точки на картинной плоскости, можно перенести результирующее изображение на экран. Более того, меняя место расположения наблюдателя и направление его взгляда, и снова выполняя операцию проецирования, можно получить виды объекта с разных сторон.

В процессе проецирования мы получаем информацию о расстоянии каждой из вершин всех объектов, составляющих изображение, точнее о расстоянии каждой из вершин всех элементарных граней, на которые разбивается объект, до плоскости проецирования (координата z). Это позволяет, во-первых, корректно определить, какие части объекта окажутся видимыми, а какие – нет, во-вторых, избежать ошибок при построении изображения, и, в-третьих, значительно уменьшить количество граней, для которых необходимо рассчитать освещенность или текстуру. А это позволит повысить скорость обработки трехмерной графики.

В рамках данной главы мы будем рассматривать проецирование, как преобразование многомерного пространства в пространство меньшей размерности. Действительно, положение и форма объектов задается в трехмерном пространстве, однако для наблюдения результатов преобразования на двухмерной плоской поверхности визуализации требуется проецирование из трехмерного пространства в двухмерное. Результат этого проецирования называется плоской геометрической проекцией. На рис. 3.1 изображена классификация иерархии плоских проекций.

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

В довольно краткой форме коснемся используемых систем координат и проблем проецирования при текстурировании и визуализации свойств материала создаваемого трехмерного объекта.

Ортографическая Аксонометрическая Косоугольная Одноточечная Двухточечная Трехточечная Плоские геометрические проекции объектов образуются пересечением прямых, называемых проекторами, с плоскостью, называемой плоскостью проекции. Проекторы — это прямые, проходящие через произвольную точку, называемую центром проекции, и каждую точку объекта. Если центр расположен в бесконечности, то все проекторы параллельны и результат проецирования является параллельной проекцией. Если центр проекции расположен в конечной точке трехмерного пространства, получается перспективная проекция.

Плоские геометрические проекции представляют основу описательной геометрии. Однако существуют и неплоские и негеометрические проекции, которые, например, используются в картографии.

Таким образом, известные проекции можно условно разделить на два типа: параллельные проекции и центральные (или перспективные) проекции.

При параллельной проекции центр проекции находится на бесконечном расстоянии от плоскости проекции. В этом случае необходимо задавать направление проецирования и расположение плоскости проекции.

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

Ортографическая (или ортогональная) проекция считается одной из простейших параллельных проекций и используется обычно в инженерных чертежах. При ортографической проекции проекторы перпендикулярны плоскости проекции, а плоскость проекции перпендикулярна главной оси. Таким образом, проекторы должны быть параллельны главной оси. Фактически ортографические проекции — это проекции на одну из координатных плоскостей.

Аксонометрические проекции образуются манипулированием объектом с помощью поворотов и перемещений таким образом, чтобы были видны, по крайней мере, три соседние грани. Результат затем проецируется с центром проекции, расположенным в бесконечности, на одну из координатных плоскостей. Обычно на плоскость z = 0. Если грань не параллельна плоскости проекции, то аксонометрическая проекция не показывает истинную форму этой грани. Однако остаются постоянными относительные длины параллельных в исходном пространстве линий, т. е. параллельные линии одинаково укорачиваются (искажаются). Коэффициент искажения представляет собой отношение длины проекции отрезка к его истинной длине.

Наибольший интерес представляют три аксонометрические проекции: триметрическая, диметрическая и изометрическая.

Изометрическая проекция может рассматриваться как частный случай диметрической, а диметрическая проекция – частный случай триметрической.

Триметрическая проекция строится произвольными поворотами вокруг любых координатных осей, совершаемыми в произвольном порядке, с последующим проецированием на плоскость z = 0. В общем случае для триметрической проекции коэффициенты искажения по каждой из проецируемых главных осей (х, у и z) не равны друг другу. Здесь термин главная ось используется в том смысле, что ось (или ребро) объекта в исходном пространстве параллельна одной из координатных осей х, у или z.

Диметрическая проекция — это триметрическая проекция с двумя одинаковыми коэффициентами искажения. Третий коэффициент может иметь любое значение. Диметрическая проекция строится с помощью поворота на угол вокруг оси у, затем поворота на угол в вокруг оси х и проецирования на плоскость z = 0 с центром проекции, расположенным в бесконечности.

В изометрической проекции все три коэффициента искажения равны.

Изображение, полученное при параллельном проецировании, не реалистичны, но с их помощью передаются точные формы и размеры объекта, хотя имеет место изменение размеров отдельных элементов объектов для различных осей.

Косоугольная проекция формируется параллельными проекторами с центром, лежащим в бесконечности и расположенными под косым углом к плоскости проекции. Т. е. проекторы не перпендикулярны плоскости проекции, но плоскость проекции перпендикулярна к главной оси.

Косоугольные проекции показывают общую трехмерную форму объекта. Однако истинные размер и форма изображаются только для граней объекта, расположенных параллельно плоскости проекции, т. е. углы и длины сохраняются только для таких граней. Грани, не параллельные плоскости проекции, подвергаются искажению.

Перспективные проекции формируются на основе перспективного преобразования одного трехмерного пространства в другое. В отличие от обсуждавшихся ранее параллельных преобразований, в данном случае проекторы-прямые сходятся в центре проекции, размер объекта уменьшается с увеличением расстояния до центра проекции, и происходит неоднородное искажение линий объекта по глубине (называемое перспективой), зависящее от ориентации и расстояния от объекта до центра проекции. Все это помогает восприятию глубины человеком, но не сохраняет форму объекта.

Перспективные проекции часто называют ренессансными, в память об изобразительном искусстве времен ренессанса.

Перспективные проекции бывают одноточечными, двухточечными и трехточечными, с зависимости от количества центров проекции.

В рамках данной главы мы будем рассматривать проецирование, как геометрическое преобразование многомерного пространства, в пространство меньшей размерности. Действительно, положение и форма объектов задается в трехмерном пространстве, однако для наблюдения результатов преобразования на двухмерной плоской поверхности визуализации требуется осуществить проецирование из трехмерного пространства в двухмерное.

Результат этого проецирования называется плоской геометрической проекцией.

Таким образом, плоское геометрическое проецирование делится, в общем случае, на параллельное и центральное.

Параллельное проецирование – это метод построения проекционного изображения пространственного объекта на плоскости проекций с помощью проецирующих лучей, параллельных заданному направлению. Проекции объектов, получаемые методом параллельного проецирования, называются параллельными проекциями.

Если центр проекции находится на конечном расстоянии от проекционной плоскости, то такой метод проецирования называется центральным, а проекции, соответственно, – центральными.

В связи с этим, параллельное проецирование можно рассматривать как частный случай центрального проецирования. Если центр проецирования удален в бесконечность, тогда проецирующие лучи можно считать параллельными на ограниченном расстоянии от плоскости проекций, например, лучи солнца у поверхности земли.

Центральное проецирование создает эффект сокращения, когда размер проекции объекта уменьшается по мере увеличения расстояния от исходного объекта до проекционной плоскости. Центральные проекции выглядят более реалистично, чем параллельные, поскольку размеры объектов, расположенные дальше от наблюдателя, в жизни тоже кажутся меньше. Другими словами, при центральном проецировании появляется возможность создания перспективы, что имеет место и при наблюдении окружающей человека действительности.

Иногда предпочтение отдается параллельному проецированию, так как сохраняется параллельность линий, если они параллельны в сцене. Например, две объемные конструкции одинаковой высоты и ширины при параллельном проецировании проецируются в одинаковые прямоугольники на картинной плоскости, хотя одна из них расположена дальше, чем другая.

Параллельное проецирование получило большое распространение в машинной графике (в частности, в черчении).

При центральном проецировании эти конструкции тоже проецируются в прямоугольники, но разница в размерах создает ощущение глубины, что придает изображению большую реалистичность. В настоящее время в компьютерной графике при построении трехмерных сцен, как правило, используется только центральное проецирование.

В процессе проецирования осуществляется отсечение невидимых граней объектов, что существенно сказывается на объеме обрабатываемой информации.

Картинная плоскость, на которой строится результирующая проекция, размещается между трехмерным объектом или сценой и наблюдателем. Она перпендикулярна направлению взгляда. Затем проводятся проекционные линии от различных точек объекта к глазу наблюдателя. Точки пересечения проекционных линий с картинной плоскостью будут выступать в качестве соответствующих точек проекции.

Получив точки на картинной плоскости, можно перенести результирующее изображение на экран. Более того, меняя место расположения наблюдателя и направление его взгляда, и снова выполняя операцию проецирования, можно получить виды объекта с разных сторон.

В процессе проецирования мы получаем информацию о расстоянии каждой из вершин всех объектов, составляющих изображение, точнее о расстоянии каждой из вершин всех элементарных граней, на которые разбивается объект, до плоскости проецирования (координата z). Это позволяет, во-первых, корректно определить, какие части объекта окажутся видимыми, а какие – нет, во-вторых, избежать ошибок при построении изображения, и, в-третьих, значительно уменьшить количество граней, для которых необходимо рассчитать освещенность или текстуру. А это позволит повысить скорость обработки трехмерной графики.

Тип проецирования на плоскую, а не искривленную поверхность, где в качестве проекционных лучей используются прямые, называется плоским геометрическим проецированием. Плоское геометрическое проецирование делится, в общем случае, на параллельное и центральное.

При организации трехмерного преобразования для получения параллельных проекций могут использоваться различные системы координат. Так, в техническом черчении используется правосторонняя система координат, в которой ось Z изображается вертикальной. В пакетах трехмерной графики может использоваться правосторонняя система координат, в которой ось Y вертикальна, ось X направлена горизонтально вправо, а ось Z – от экрана к наблюдателю. И, наконец, преобразования могут осуществляться в левосторонней системе координат с вертикальной осью Y, осью X, направленной вправо и осью Z, направленной от наблюдателя.

Ортографические проекции. Использование проекций в техническом черчении регламентируется стандартом ГОСТ 2.317–69.

Поскольку одна ортографическая проекция не дает достаточной информации для визуального и практического воссоздания формы объекта, возникает необходимость построения нескольких ортографических проекций объекта. Для этих целей используются ортогональные проекции (виды). Под видом понимается ортогональная проекция, обращенная к наблюдателю видимой частью поверхности предмета, расположенного между наблюдателем и плоскостью чертежа.

В техническом черчении за основные плоскости проекций принимают шесть граней куба (рис. 3.2).

Рис. 3.2. Ортогональные проекции (основные виды) 1. Вид спереди, главный вид, фронтальная проекция, (на заднюю грань V).

2. Вид сверху, план, горизонтальная проекция, (на нижнюю 3. Вид слева, профильная проекция, (на правую грань W).

4. Вид справа (на левую грань).

5. Вид снизу (на верхнюю грань).

6. Вид сзади (на переднюю грань).

Обычно используются первые три вида. Фактически это проекции трехмерного объекта на одну из координатных плоскостей (х = 0; y = 0 или z = 0). Матрица проецирования на плоскость z = имеет вид Аналогичным образом можно представить матрицы для проецирования на координатные плоскости х = 0 и у = 0:

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

Вспомогательный вид образуется с помощью вращения и перемещения объекта так, чтобы нормаль к грани совпала с одной из координатных осей. Результат затем проецируется на координатную плоскость, перпендикулярную этой оси.

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

Например, в изометрических проекциях укорачивания вдоль всех координатных осей одинаковы, поэтому можно производить измерения вдоль направлений осей с одним и тем же масштабом (отсюда и название «изометрия»).

На рис. 3.3 приведена (аксонометрическая прямоугольная) изометрическая проекция куба со стороной A. В этой проекции плоскость проецирования наклонена ко всем главным координатным осям под одинаковым углом. Стандартом регламентируется коэффициент сжатия, равный 0,82, а также расположение и взаимные углы главных координатных осей, равные 120° (как это показано в левом верхнем углу рис. 3.3). Обычно сжатие не делается.

Рис. 3.3. Аксонометрическая прямоугольная изометрическая При диметрической проекции две из трех осей сокращены одинаково, т. е. из трех углов между нормалью к плоскости проекции и главными координатными осями два угла одинаковы. На рис. 3.4 приведена (аксонометрическая прямоугольная) диметрическая проекция куба со стороной A. На этом же рисунке показаны регламентируемые расположения осей и коэффициенты сжатия. Обычно вместо коэффициента сжатия 0,94 используется 1, а вместо 0,47–0,5.

Рис. 3.4. Аксонометрическая прямоугольная диметрическая проекция куба со стороной A Диметрическая проекция позволяет проводить измерения с одинаковым масштабным множителем по двум преобразованным главным осям. Измерение вдоль третьей оси требует другого масштабного множителя. Это может привести к путанице и ошибкам, если требуется точное масштабирование размеров спроецированного объекта.

В изометрической проекции все три коэффициента искажения равны:

Для любой конкретной триметрической проекции коэффициенты искажения вычисляют с помощью применения общей матрицы преобразования к единичным векторам вдоль главных осей.

В частности, где [U] есть матрица единичных векторов вдоль нетрансформированных осей х, у и z соответственно. [Т] — общая матрица триметрической проекции. Коэффициенты искажения вдоль спроецированных главных осей определяются соотношениями Косоугольное проецирование. При использовании этого метода проецирования плоскость проецирования перпендикулярна главной оси, а проекторы составляют с плоскостью проецирования угол не равный 90°. Таким образом, аксонометрические косоугольные проекции сочетают в себе свойства ортогональных и аксонометрических прямоугольных проекций.

Наиболее часто используются два вида косоугольной проекции – фронтальная (косоугольная) диметрия (проекция Kabinett – кабине) и горизонтальная (косоугольная) изометрия (проекция Kavalier – кавалье).

Проекция горизонтальная (косоугольная) изометрия (кавалье) получается, когда угол между проекторами и плоскостью проекции составляет 45°. В этой проекции коэффициенты искажения для всех трех главных направлений одинаковы. Однако результат этого метода проецирования выглядит неестественно утолщенным.

Для «коррекции» этого недостатка используется фронтальная (косоугольная) диметрия проекция (Кабине). Характерная особенность этой проекции в том, что коэффициент искажения для ребер, перпендикулярных плоскости проекции, равен 1/2.

Угол между проекторами и плоскостью проекции здесь составляет 63,43°.

Матрица для косоугольного преобразования может быть найдена исходя из значений угла проецирования и координат преобразованной точки:

В случае фронтальной (косоугольной) диметрии (рис. 3.5) при использовании правосторонней системы координат экрана плоскость проецирования перпендикулярна оси Z. Ось X направлена горизонтально вправо. Ось Z изображается по углом в 45° относительно горизонтального направления. Допускается угол наклона в 30 и 60°. При этом отрезки, перпендикулярные плоскости проекции, при проецировании сокращаются до 1/2 их истинной длины. На рис. 3.5 приведена (аксонометрическая косоугольная) фронтальная диметрическая проекция куба со стороной A, там же показаны регламентируемый коэффициент сжатия, равный 0,5, и расположение осей.

Рис. 3.5. Аксонометрическая косоугольная фронтальная В (аксонометрической косоугольной) горизонтальной изометрии (рис. 3.6), плоскость проецирования перпендикулярна оси Y, а укорачивания по всем осям одинаковы и равны 1. Угол поворота изображения оси X относительно горизонтального направления составляет 30°. Допускается 45 и 60° при сохранении угла 90° между изображениями осей X и Z.

Рис. 3.6. Аксонометрическая косоугольная горизонтальная изометрическая проекция куба со стороной A При построении алгоритмов преобразования трехмерной графики и, в частности, преобразования проецирования, часто используется переход от трехмерного изображения к двухмерным проекциям. Это дает возможность использовать хорошо известные методы и алгоритмы двухмерной векторной графики.

В качестве примера на рис. 3.7 приводится иллюстрация проецирования точки Ро с координатами(0, 0, 1) некоторым условным проектором в косоугольной параллельной проекции: проектором, идущим из точки P0 в P1. Точка P0(0, 0, 1) проецируется в P1(L·cosa, L·sina, 0).

Рис. 3.7. Косоугольная параллельная проекция Переходя от трехмерного пространства к двухмерному (рис. 3.8), можно описать процесс проецирования проектором, параллельным приведенному на рис. 3.7, некоторой произвольной точки с координатами (X, Y, Z) в точку (Xp, Yp, Zp) с помощью обычного тригонометрического преобразования.

Рис. 3.8. Косоугольная параллельная проекция (Xp, Yp, 0) точки (X, Y, Z) Из подобия прямоугольных треугольников можно получить:

Различные варианты параллельных проекций формируются путем подстановки значений L и углов a и b (рис. 3.7). В частности, для фронтальной косоугольной диметрии L = 1/2. Угол b между проекторами и плоскостью проецирования в этом случае равен 63,4°. Угол a, равен 45° (или лежит в пределах от 30 до 60°).

Общий вид объектов в параллельных проекциях характеризуется рис. 3.9.

Рис. 3.9. Общий вид объекта в параллельной проекции Форма геометрии общего вида объекта в параллельной проекции передает объемность изображения. Если, к тому же, к созданному изображению применить процедуры закраски граней, придать им свойства материалов, произвести расчет освещенности граней, то получим реалистичное изображение объекта. Для технических специалистов этого оказывается достаточно.

Однако человек привык видеть объекты в перспективе, когда размеры объектов и их элементов не соответствуют реальным, а зависят от расстояния между объектом и наблюдателем, т. е. изменяются по законам перспективы. Этого можно достичь лишь в центральных или перспективных проекциях.

3.3. Центральные (перспективные) проекции Наиболее реалистично трехмерные объекты выглядят в центральной проекции из-за перспективных искажений сцены, адекватных зрительному восприятию человеком окружающей среды.

В этих проекциях центр проекции находится на конечном расстоянии от проекционной плоскости. При этом наблюдается эффект перспективного уменьшения размеров объекта обратно пропорционально расстоянию от центра проекции до объекта.



Pages:     | 1 || 3 | 4 |   ...   | 5 |


Похожие работы:

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное образовательное учреждение высшего профессионального образования КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ УТВЕРЖДАЮ Деканфакультетаперерабатывающих технологий, к. т.н. доцент Решетняк А.И. _ 2010 г. РАБОЧАЯ ПРОГРАММА дисциплины: СООРУЖЕНИЯ И ОБОРУДОВАНИЕ ДЛЯ ХРАНЕНИЯ ПРОДУКЦИИ РАСТЕНИЕВОДСТВА И ЖИВОТНОВОДСТВА для специальности 110305.65 Технология производства и переработки сельскохозяйственной продукции...»

«Международный инновационный форум Хоккей будущего 9 -12 января 2014 г. Санкт-Петербург ПРОГРАММА ФОРУМА 9 января, актовый зал НГУ им. П.Ф. Лесгафта. Научно-методическая конференция Актуальные вопросы теории хоккея и методики подготовки тренерских кадров 9.00 – 10.00 Регистрация участников. 10.00 – 10.30 Вступительное слово: Таймазов В.А., проф., ректор НГУ им. П.Ф. Лесгафта; Михно Л.В., д.п.н., проф., заслуженный работник ФК, директор НОУ Академия хоккея; Юрзинов В.В. В.А. Таймазов Л.В. Михно...»

«Учреждение образования Белорусский государственный технологический университет УТВЕРЖДАЮ Проректор по учебной работе БГТУ _А.С. Федоренчик _ _2009 г. Регистрационный № УД-_ СТРОИТЕЛЬНОЕ ДЕЛО И МАТЕРИАЛЫ Учебная программа для специальности 1–75 02 01 Садово-парковое строительство Факультет технологии и техники лесной промышленности Кафедра транспорта леса Курс ІІІ Семестр V Лекции 36 ч. Зачет – V семестр Практические занятия 18 ч. Всего аудиторных часов по дисциплине 54 ч. Всего часов Форма...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное учреждение высшего профессионального образования Пермский государственный национальный исследовательский университет Кафедра конституционного и финансового права КОНСТИТУЦИОННОЕ ПРАВО; КОНСТИТУЦИОННЫЙ СУДЕБНЫЙ ПРОЦЕСС; МУНИЦИПАЛЬНОЕ ПРАВО Программа подготовки к вступительному экзамену в аспирантуру по специальности 12.00.02. Рекомендована кафедрой Утверждена на ученом совете конституционного и...»

«РАБОЧАЯ ПРОГРАММА по дисциплине ФИЗИЧЕСКИЕ ОСНОВЫ ПОЛУЧЕНИЯ ИНФОРМАЦИИ (ПЦ. Б.3.01.01) для направления подготовки бакалавриата 200100.62 – Приборостроение Разработана в соответствии с ФГОС ВПО, ООП по направлению подготовки бакалавриата 200100.62 – Приборостроение 2 1 Цели и задачи дисциплины. Дисциплина Физические основы получения информации является специальной общеобразовательной дисциплиной в системе подготовки бакалавра по специальности 200100.62 направления Приборостроение. Целью...»

«СБОРНИК ЗАДАЧ к учебному пособию Основы устойчивого леcоуправления Лесная программа WWF России Лесная программа WWF России — это часть глобальной Международной лесной программы WWF. Программа направлена на сохранение лесов путем их охраны и восстановления, а также устойчивого управления ими там, где это необходимо. Задачи Лесной программы WWF России: • продвижение концепции устойчивого лесоуправления, учитывающего интересы всех заинтересованных сторон; • совершенствование лесного...»

«ПРОГРАММА II Ставропольского форума Всемирного Русского Народного Собора Нравственная и ответственная личность – основа сильного государства г. Ставрополь Программа для экспертов 20 декабря 2013 г. 1-й день Время Мероприятие Место проведения Пресс-конференция Северо-Кавказский федеральный университет, 10.00-10.40 Научно-образовательный центр фотовольтаики и нанотехнологии, пр. Кулакова, д. 2 Регистрация Северо-Кавказский федеральный университет, 10.00-11. фойе, пр. Кулакова, д. 2/ 1-е пленарное...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Саратовский государственный аграрный университет имени Н.И. Вавилова СОГЛАСОВАНО УТВЕРЖДАЮ Заведующий кафедрой Декан факультета _ /Дудникова Е.Б./ _ 20 г. /Камышова Г.Н./ _ _20 г. РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ (МОДУЛЯ) Теория вероятностей и математическая Дисциплина статистика Направление подготовки 080100.62 Экономика Экономика предприятий...»

«7 класс № Название разработки Автор(ы) Должность и место работы Аннотация Рабочие программы по информатике Бондур Наталья Георгиевна, Учителя информатики МОУ СОШ №46 с Пример адаптации авторской программы к условиям 1. конкретного учебного заведения. для 5-7 классов Чурилова Татьяна Георгиевна углубленным изучением отдельных предметов г.Сургут Урок Объекты и их имена Варчак Лариса Евгеньевна Учитель информатики муниципального Обобщаются представления об объектах. Работа в 2. образовательного...»

«8 Программа телевидения Местное время, 13 (1452), 23 апреля 2014 г. Понедельник, 28.04 Вторник, 29.04 Среда, 30.04 Четверг, 1.05 Пятница, 2.05 Суббота, 3.05 Воскресенье, 4.05 Канал Культура 07.00 Евроньюс. 06.30 Евроньюс. 06.30 Евроньюс. 06.30 Евроньюс. 06.30 Евроньюс. 06.30 Евроньюс. 06.30 Евроньюс. 10.00 Новости культуры. 10.00 Новости культуры. 10.00 Новости культуры. 10.00 Обыкновенный 10.00 Новости культуры. 10.00 Обыкновенный 10.00 Обыкновенный 10.15 Наблюдатель. 10.15 Наблюдатель. 10.15...»

«ДЕПАРТАМЕНТ ПО ДЕЛАМ МОЛОДЕЖИ САМАРСКОЙ ОБЛАСТИ ГБУ СО АГЕНТСТВО ПО РЕАЛИЗАЦИИ МОЛОДЕЖНОЙ ПОЛИТИКИ СОВЕТ РЕКТОРОВ ВУЗОВ САМАРСКОЙ ОБЛАСТИ САМАРСКИЙ ОБЛАСТНОЙ СОВЕТ ПО НАУЧНОЙ РАБОТЕ СТУДЕНТОВ XL САМАРСКАЯ ОБЛАСТНАЯ СТУДЕНЧЕСКАЯ НАУЧНАЯ КОНФЕРЕНЦИЯ 15 - 25 апреля 2014 года ПРИГЛАСИТЕЛЬНЫЙ БИЛЕТ И ПРОГРАММА ЧАСТЬ 2 Гуманитарные наук и САМАРА 2014 СОПРЕДСЕДАТЕЛИ ОРГКОМИТЕТА КОНФЕРЕНЦИИ ЛИХАЧЕВ В.В. – руководитель департамента по делам молодежи Самарской области, член Совета молодых ученых и...»

«Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования РОССИЙСКАЯ АКАДЕМИЯ НАРОДНОГО ХОЗЯЙСТВА И ГОСУДАРСТВЕННОЙ СЛУЖБЫ ПРИ ПРЕЗИДЕНТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ Воронежский филиал Кафедра уголовного права и криминологии,0мт ^УТВЕРЖДАЮ Директор Воронежского филиала Российской академии народного хозяйства и )ственной службы при Президенте федерации д.т.н. Подвальный Е.С. 2013 год РАБОЧАЯ УЧЕБНАЯ ПРОГРАММА по дисциплине Судебная власть в Российской...»

«Белорусский государственный университет УТВЕРЖДАЮ Проректор по учебной работе А.Л. Толстик 2013 г. Регистрационный № УД-/р. История биологии Учебная программа учреждения высшего образования по учебной дисциплине для специальностей: 1-31 01 01 Биология (по направлениям) Факультет биологический (название факультета) Кафедра генетики (название кафедры) Курс (курсы) 4/ Семестр (семестры) 7 / 7- Лекции 20 / 4 Экзамен (количество часов) (семестр) Практические (семинарские) Зачет 7/ занятия (семестр)...»

«1 СОДЕРЖАНИЕ 1. Общие положения 3 1.1 Основная образовательная программа специалитета, реализуемая вузом по направлению подготовки 111801.65 Ветеринария и профилю подготовки Ветеринарная формация. 3 1.2. Нормативные документы для разработки ООП по направлению подготовки 111801.65 Ветеринария и профилю подготовки Ветеринарная формация. 3 1.3Общая характеристика вузовской основной образовательной программы высшего профессионального образования (специалитет) 3 1.3.1 Цель (миссия) ООП (специалитет)...»

«Негосударственное образовательное учреждение высшего профессионального образования Московский экономико-правовой институт РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ КРИМИНОЛОГИЯ образовательная программа по направления подготовки 030900.62 юриспруденция цикл Б 3. Профессиональный цикл, Вариативная часть Профиль подготовки: гражданско-правовой Квалификация (степень) выпускника Бакалавр Москва 2013 Рабочая программа составлена на основании федерального государственного образовательного стандарта высшего...»

«Программно-методическое обеспечение основного общего, среднего (полного) общего образования. УЧЕБНЫЕ ПРОГРАММЫ ПО ПРЕДМЕТАМ Основное (общее), среднее(полное) образование Т.А.Ладыженская, Русский язык 5 класс, Москва, Просвещение. Русский язык 2008г. М.Т.Баранов, Русский язык 6 класс, Москва, Просвещение, 2008 г. М.Т.Баранов, Т.А.Ладыженская, Л.А.Тростенцова, Русский язык 7 класс, Москва, Просвещение, 2008 г. Т.А. Ладыженская, Л.А.,Тростенцова, Русский язык 8 класс, Москва, Просвещение, 2008...»

«Управление документами и актами очень важно не только в бизнесе, но и в личной жизни! Налоговая декларация, договора страхования, документы на машину, рабочие материалы и т.п. В любом доме необходимо найти место, время и придумать простую и удобную систему для хранения и обработки личной документации. Знакома Вам ситуация как на фотографии выше? Небольшое количество папок в какой-то момент превращается в хаотичное собрание бумаг, которое хочется спрятать и убрать подальше с глаз! Программа CM...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ САМАРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Кафедра государственного и административного права СБОРНИК МЕТОДИЧЕСКИХ МАТЕРИАЛОВ ПО КУРСУ ЭКОЛОГИЧЕСКОЕ ПРАВО РОССИЙСКОЙ ФЕДЕРАЦИИ для студентов дневной и заочной форм обучения специальности Юриспруденция Издательство Самарский университет 2003 Печатается по решению Редакционно-издательского совета Самарского государственного университета Составитель ст. преп. Р.Г.Мязина Рецензент канд. юрид. наук, доц....»

«УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ПО ДИСЦИПЛИНЕ РЕЛИГИОВЕДЕНИЕ ОРГАНИЗАЦИОННО-МЕТОДИЧЕСКИЙ РАЗДЕЛ Требования к обязательному минимуму содержания и уровню подготовки по дисциплине Дисциплина Религиоведение относится к циклу общих гуманитарных и социально – экономических, входит в раздел Дисциплины по выбору студента, устанавливаемые ВУЗом и является обязательной для изучения. Дисциплина Религиоведение изучается в и третьем-четвертом семестрах (очная и заочная формы обучения) и четвертом семестре...»

«БАНКОВСКО-ФИНАНСОВАЯ АКАДЕМИЯ РЕСПУБЛИКИ УЗБЕКИСТАН УТВЕРЖДАЮ СОГЛАСОВАНО Начальник главного управления Вр.и.о. ректора Банковско-финансовой высших учебных заведений академии Республики Узбекистан Министерства Высшего и А.Ш.Бекмурадов среднего специального образования Республики Узбекистан _ И.У.Мажидов 2014 год _ 2014 год ПРОГРАММА ДЛЯ ПОСТУПЛЕНИЯ В МАГИСТРАТУРУ ПО СПЕЦИАЛЬНОМУ ПРЕДМЕТУ УПРАВЛЕНИЕ ИНВЕСТИЦИЯМИ (ДЛЯ РЕАЛЬНОГО СЕКТОРА) Ташкент – 2014 г. Программа одобрена Ученым советом...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.