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] = 
0,926
0
0,378
0
   0,134
0,935
-0,372
0
   0
0
0
0
   0
0
0
1
   

Вспоминая координатный вектор [X] (см. пример 2.1.), получим координаты

 

   
[X*] = [X][T] = 
0,378
1,304
1,304
0,841
0,378
0
0,926
0,926
0
1,115
    -0,327
-0,194
0,274
0,675
0,608
0
0,134
1,069
0,935
0,905
    0
0
0
0
0
0
0
0
0
0
    1
1
1
1
1
1
1
1
1
1
   

Результат изображен на рис. 2.4.

 

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

В изометрической проекции все три коэффициента искажения равны. Теперь приравняем квадраты коэффициентов искажения по осям y и z и получим:

 

sin2θ = 1 - 2sin2θ

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°. Следовательно,

 

α = arctg(± sin35,26439°) = ± 30°

Для построения изометрических проекций вручную обычно используется пластмассовый прямоугольный треугольник с углами 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] = 
-0,707
0
0
-0,354
-0,707
0
0,707
0,707
0
0,354
    -0,408
-0,816
-0,408
0,204
0,408
0
-0,408
0,408
0,816
0,204
    0
0
0
0
0
0
0
0
0
0
    1
1
1
1
1
1
1
1
1
1
   

Результат изображен на рис. 2.5.

 

 

Назад
Компьютерная графика © 2014 ОСУ ИК Вход