Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие 2011.docx
Скачиваний:
103
Добавлен:
10.12.2018
Размер:
3.14 Mб
Скачать
      1. Преобразование видимого объема

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

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

Будем решать задачу в два этапа. В начале приведем видимый объем к нормированному виду. При этом значение Zmax=1, а границы по осям x и y лежат в диапазоне [-1,1].

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

Графическая иллюстрация к нормализации ВО приведена на Рис. 6 .77.

а)

б)

Рис. 6.77. Нормализация ВО

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

Графически иллюстрация, показывающая ВО в каноническом виде, приведена на Рис. 6 .78.

Рис. 6.78. Канонический вид ВО

  1. Представление пространственных форм

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

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

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

Рис. 7.79. Параметрический бикубический кусок

Параметрические бикубические куски (Рис. 7 .79), из которых состоят эти поверхности, описываются координатами точек с помощью трех уравнений (по одному для х, у и z). Каждое из уравнений имеет две переменные (два параметра), причем показатели степени при них не выше третьей (отсюда название бикубический). Уравнение для X будет выглядеть следующим образом:

В матричной форме уравнение для Х можно описать как: X(S,t)=SCxTT, где S=[S3 S2 S 1] T=[t3 t2 t 1]

Аналогично записываются уравнения для Y и Z.

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

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