Скачиваний:
13
Добавлен:
05.04.2013
Размер:
50.79 Кб
Скачать

Двумерные преобразования - 2.10. Аксонометрические проекции A.l:link { text-decoration: none; font-size: 8pt; color: 666666; } A.l:hover { text-decoration: none; font-size: 8pt; color: 666666; } A.l:active { text-decoration: none; font-size: 8pt; color: 666666; } A.l:visited { text-decoration: none; font-size: 8pt; color: 666666; } A.std:link { text-decoration: none; font-size: 11pt; font-weight: bold; color: 8E5717; } A.std:hover { text-decoration: none; font-size: 11pt; font-weight: bold; color: 7F0000; } A.std:active { text-decoration: none; font-size: 11pt; font-weight: bold; color: 8E5717; } A.std:visited { text-decoration: none; font-size: 11pt; font-weight: bold; color: 8E5717; } A.li:link { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.li:hover { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.li:active { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.li:visited { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.lil:link { text-decoration: none; font-size: 11pt; color: 666666; } A.lil:hover { text-decoration: none; font-size: 11pt; color: 7F0000; } A.lil:active { text-decoration: none; font-size: 11pt; color: 666666; } A.lil:visited { text-decoration: none; font-size: 11pt; color: 666666; } Алгоритмические

основы Математические

основы Flash 5 CorelDraw 10 3D Studio Max3 [программа] [тесты] [лабораторные] [вопросы] [литература]

2. Пространственные преобразования и проекции

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] = 

Соседние файлы в папке exilim