Главная страница

Алгоритмы компьютерной графики Пешков Анатолий Тимофеевич, БГУИР. 1 отображение просранства пользователя и машинного носителя 4


Скачать 1.86 Mb.
Название1 отображение просранства пользователя и машинного носителя 4
Дата24.09.2022
Размер1.86 Mb.
Формат файлаdoc
Имя файлаАлгоритмы компьютерной графики Пешков Анатолий Тимофеевич, БГУИР.doc
ТипДокументы
#693275
страница15 из 20
1   ...   12   13   14   15   16   17   18   19   20

6.3 Косоугольные проекции




Косоугольная проекция определяется углом наклона линии проецирования к плоскости проекции.

Отличие координат X,Y точки в исходной трехмерной системе и одноименных ее координат на плоскости проекции можно проанализировать на примере проекции единичного вектора по оси Z, которая приведена на Рис. -62. На рисунке рассматривается случай, когда плоскость проекции совпадает с координатной плоскостью X,Y исходной трех мерной системы, из которой выполняется проецирование.



Рис. ‑62

Проекцией конца единичного вектора, расположенного на оси Z (точки «т»), является точка на плоскости проекции, обозначенная как «тп», с координатами Px и Py. Эти координаты зависят от наклона линий проецирования, в частности от наклона линии проецирования, проходящей через конец рассматриваемого единичного вектора. С учетом этого, можно записать:
xтп = xт + Рx = 0 + Рx;

yтп = yт + Рy = 0 + Рx.
Величины Рx и Рy рассматриваются как отклонения, соответственно, по координатам X и Y при формировании косоугольной проекции точки.

Линии проецирования в рассматриваемой проекции параллельные, поэтому можно утверждать, что для всех точек исходной трех мерной системы с координатой по оси Z, равной «1», будет иметь место такие же отклонения по осям X и Y. Кроме того, очевидно при изменении координаты Z будут пропорционально изменяться отклонения по осям X и Y. Это позволяет записать для любой точки A(xA, yA, zA) исходной трех мерной системы ее координаты на плоскости проекции как:
xAп = xA + Рx z A;

xAп = yA + Рy z A.

Матрица, отражающая эту связь координат, имеет вид:

Для свободной косоугольной проекции имеет место:
Рx = сos 450;

Рy = sin 450.
Для кабинетной косоугольной проекии используется уменьшенный масштаб влияния координаты Z на смещение:
Рx = 0.5 сos 450;

Рy = 0.5 sin 450.


6.4 Аксонометрическая проекция



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

Первый случай.

Плоскость проекции перпендикулярна оси Z и совпадает с координатной плоскостью XY. Проекция точки в этом случае определяется как:



Второй случай.

Плоскость проекции перпендикулярна оси X и совпадает с координатной плоскостью ZY. Проекция точки в этом случае определяется как:


Третий случай.

Плоскость проекции перпендикулярна оси Y и совпадает с координатной плоскостью XZ. Проекция точки в этом случае определяется как:


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


Рис. Аксонометрическая проекция‑63
На рисунке приведены следующие обозначения:

  • ПП – плоскость проецирования;

  • V– вектор направленности линий проецирования;

  • b – угол между осью Z и проекции вектора V на координатную плоскость XZ;

  • a – угол наклона вектора Vк координатной плоскости XZ.

Найдем матрицу аксонометрической проекции Rпп, которая связывает координаты x, y, z точки в трех мерной системе и ее координаты xп, yп, zп на плоскости проекции ПП (координата zп на плоскости проекции равна 0):

Матицу Rпп можно найти, выполнив два этапа преобразований.

Первый этап.

От исходной системы координат перейдем в видовую систему координат, направление оси Zв которой совпадает с вектором проецирования V. Для этого исходную систему координат повернем на угол «в» относительно оси Y, а полученную систему координат повернем на угол «a» относительно оси X. Тогда матрица видового преобразования Rв рассчитывается следующим образом:

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

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

Для вывода зависимостей параметров аксонометрии для случаев диметрии и изометрии, рассмотрим аксонометрические проекции единичных векторов по координатным осям:




Используя матрицу аксонометрической проекции, запишем проекции этих векторов:





Возьмем диметрию, у которой координатные оси X и Y имеют одинаковые углы с осью Z. В этом случае можно утверждать, что проекции единичных векторов Ux и Uy , будут иметь одинаковую длину, а следовательно можно записать:
Uxп2 = Uуп2, т. е.
cos2b + sin2a sin2b = cos2a.
Разрешим это уравнение относительно «b», используя только функцию sin:

1-sin2b + sin2a sin2b =1- sin2a;

(6.4-1)
Таким образом, при построении диметрии, задавая произвольный угол «а», необходимо по полченной формуле рассчитать угол «b».

Для изометрии проекции всех рассматриваемых единичных векторов будут одинаковыми. Поэтому можно записать:
Uzп2 = Uуп2, т. е.

sin2b + sin2a cos2b = cos2a.
Разрешим это уравнение относительно «b», используя только функцию sin:

sin2b + sin2a (1-sin2b) = 1-sin2a,

(6.4-2)
На основании выражений (6.4-1) и (6.4-2), можем записать:
sin2a = 1- 2sin2a, откуда:

sin2a = 1/3, а .

Подставляя полученное значение для sin a в выражение (6.4-1), будем иметь:



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


1   ...   12   13   14   15   16   17   18   19   20


написать администратору сайта