2.10. Аксонометрические проекции
Одна ортографическая проекция не может дать представления об общей трехмерной форме объекта. Это ограничение можно преодолеть с помощью аксонометрических проекций. Аксонометрическая проекция образуется манипулированием объекта с помощью поворотов и перемещений таким образом, чтобы были видны по крайней мере три соседние грани. Результат затем проецируется с центром проекции, расположенным в бесконечности, на одну из координатных плоскостей, обычно на плоскость z = 0. Если грань не параллельна плоскости проекции, то аксонометрическая проекция не показывает истинную форму этой грани. Однако остаются постоянными относительные длины параллельных в исходном пространстве линий, т.е. параллельные линии одинаково укорачиваются (искажаются). Коэффициент искажения есть отношение длины проекции отрезка к его истинной длине. Представляют интерес три аксонометрические проекции: триметрическая, диметрическая и изометрическая. В триметрической проекции меньше всего ограничений, а в изометрической - больше всего. В самом деле, изометрическая проекция есть частный случай диметрической, а диметрическая проекция есть частный случай триметрической.
Аксонометрическая проекция из трехмерного пространства на плоскость z = n может быть получена следующим образом:
[X Y Z H] = [x y z 1] | 1 0 0 0 0 1 0 0 0 0 0 0 0 0 n 1 |
||
Заметим, что это преобразование представляет собой перенос изображения в направлении оси z на величину n, обусловленный преобразованием
[T'] = | 1 0 0 0 0 1 0 0 0 0 1 0 0 0 n 1 |
||
который следует за проецированием из бесконечности в плоскость z = 0, заданным преобразованием
[T''] = | 1 0 0 0 0 1 0 0 0 0 0 0 0 0 n 1 |
||
Как было указано ранее, аксонометрические проекции строятся произвольными поворотами вокруг любых координатных осей, совершаемыми в произвольном порядке, с последующим проецированием на плоскость z = 0. Общая матрица триметрической проекции равна
[T] = [Ry][Rx][Pz] = | cosφ 0 -sinφ 0 0 1 0 0 sinφ 0 cosφ 0 0 0 0 1 |
1 0 0 0 0 cosθ sinθ 0 0 -sinθ cosθ 0 0 0 0 1 |
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 |
= | cosφ sinφ sinθ 0 0 0 cosθ 0 0 sinφ -cosφ sinθ 0 0 0 0 0 1 |
||||||||||
где φ - угол поворота вокруг оси y, θ - угол поворота вокруг оси x.
В общем случае для триметрической проекции коэффициенты искажения по каждой из проецируемых главных осей (х, y и z) не равны друг другу. Наложение ограничений на коэффициенты уменьшает диапазон триметрических проекций. Однако для любой конкретной триметрической проекции коэффициент искажения вычисляют с помощью применения общей матрицы преобразования к единичным векторам вдоль главных осей. В частности,
[U][T] = | 1 0 0 1 0 1 0 1 0 0 1 1 |
[T] = | xx* yx* 0 1 xy* yy* 0 1 xz* yz* 0 1 |
||||
где [U] - матрицаединичных векторов вдоль нетрасформированнхы осей x, y и z соотвественно, а [T] - общая матрица триметрической проекции. Тогда коээфициенты искажения вдоль спроецированных главных осей равны:
fx = | xx*2 + yx*2 |
fy = | xy*2 + yy*2 |
fz = | xz*2 + yz*2 |
Пример 2.1. Триметрическая проекция.
Рассмотрим рис. 2.3., построенный с помощью поворота куба с отсеченным углом на угол φ = 30°, а затем поворота на угол θ = 45° вокруг оси x и последующего параллельного проецирования на плоскость z = 0. Координатный вектор куба с отсеченным углом
[X] = | 0 0 1 1 0 1 1 1 1 0,5 1 1 0,5 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0,5 1 |
||
Общая матрица триметрической проекции для данных углов равна
[T] = [Ry][Rx][Pz] = |
|
|||||||||
Вспоминая координатный вектор [X] (см. пример 2.1.), получим координаты
[X*] = [X][T] = |
|
|||||||||
Результат изображен на рис. 2.4.
Диметрическая проекция позволяет проводить измерения с одинаковым масштабным множителем по двум преобразованным главным осям. Измерение вдоль третьей оси требует другого масштабного множителя. Это может привести к путанице и ошибкам, если требуется точное масштабирование размеров спроецированного объекта. Изометрическая проекция решает эту проблему.
В изометрической проекции все три коэффициента искажения равны. Теперь приравняем квадраты коэффициентов искажения по осям y и z и получим:
1 - sin2θ
Из предыдущего равенства и равенства (2.6) следует, что
sin2θ = 1/3 или sinθ = | ± | 1/3 и θ = ± 35,26° |
Тогда
sin2φ = | 1/3 1 - 1/3 |
= 1/2 |
и φ = ± 45° Коэффициент искажения для изометрической проекции равен
f = | cos2θ = |
2/3 = 0,8165 |
В самом деле, изометрическая проекция есть частный случай диметрической с fz = 0,8165
При построении изометрических проекций вручную важен угол, который составляет проекция оси х с горизонталью. Преобразование единичного вектора вдоль оси х с помощью матрицы изометрической проекции дает
[U*x] = | cosφ sinφ sinθ 0 0 0 cosθ 0 0 sinφ -cosφ sinθ 0 0 0 0 0 1 |
= [cosφ sinφsinθ 0 1] | ||
Тогда угол между проекцией оси х и горизонталью равен
tdα = | yx* xx* |
= | sinφsinθ cosφ |
= ± sinθ |
поскольку sinφ = cosφ для φ = 45°. Следовательно,
Для построения изометрических проекций вручную обычно используется пластмассовый прямоугольный треугольник с углами 30° и 60°. Ниже приводится пример.
Пример 2.3. Изометрическая проекция.
Снова рассмотрим куб с отсеченным углом (см. пример 2.2) и построим изометрическую проекцию для φ = -45° и α = 35.26439°. Преобразование изометрического проецирования имеет вид:
[T] = | 0.707 -0.408 0 0 0 0.816 0 0 -0.707 0 0 0 0 0 0 1 |
|||
Вспоминая координаты [X], получим
[X*] = [X][T] = |
|
|||||||||
Результат изображен на рис. 2.5.