Ортогональная аксонометрическая проекция
При ортогональной аксонометрической проекции осуществляется только вращение вокруг какой-либо координатной оси на угол, кратный , или отображение относительно какой-либо координатной плоскости.
Ортогональная проекция «вид сверху» поворот относительно оси x на угол
90 градусов и проецирование на плоскость z= 0 Матрица Т:
Диметрическая проекция
При построении диметрической проекции производится комбинированное вращение, при котором одинаково сокращаются две из трех координатных осей.
– вращение вокруг оси Y на угол ;
– вращение вокруг оси на угол ;
– параллельное проецирование на плоскость ;
Единичный вектор оси в результате такого преобразования преобразуется к виду
и имеет длину
Аналогично, единичный вектор оси преобразуется к и имеет длину
По условию диметрической проекции значения двух преобразованных единичных векторов сокращаются в равное число раз. Приравнивая значения векторов осей и , получим
используя
Таким образом, мы получим требуемое соотношение между углами и для построения диметрической проекции. При этом, конкретные значения одного из углов можно выбрать произвольно.
Будем выбирать θ таким образом, чтобы ось z сократилась в фиксированное число раз, например, в ½ Единичный вектор оси z [0011] преобразуется к [sin Ф – cos Ф sin 0 1 ] длиной
Требование уменьшить его в длину ½ означает
Изометрическая проекция
В отличие от диметрической в изометрической проекции ставится условие равного сокращения всех трех координатных осей, т.е.
Или и
Решая совместно эти уравнения, получим
Отметим, что угол между преобразованным единичным вектором оси и исходным составляет
Перспективные преобразования и проекции
Перспективная проекция получается путем перспективного преобразования и проецирования на некоторую плоскость наблюдения. перспективную проекцию получаем путем выполнения одной из двух последовательностей преобразований:
1) перспективное преобразование в 3-мерном пространстве и параллельное проецирование.
2) аффинные преобразования в 3-мерном пространстве и центральное (перспективное преобразование) проецирование.
Перспективная проекция на плоскость обеспечивается преобразованием
т.е.
Каждая точка (например, C) переводится в точку C путем центральной проекции, центр которой лежит на оси в точке с координатами . Из рассмотрения подобных треугольников и видно, что или
Аналогично, из треугольников и
При перспективное преобразование вырождается в аксонометрическое.
Проекцию из другой точки можно получить, выполнив предварительно аффинные преобразования, переводящие центр проекции в требуемое положение, или, помещающее объект в нужное положение и под нужный ракурс. При этом координата у всех точек останется равной 1, т.к. 4-й столбец матрицы аффинных преобразований . После этих преобразований выполняется центральное проецирование.
С другой стороны, при проецировании на плоскость информация о координате теряется. Иногда это неудобно. В этом случае можно выполнить перспективное преобразование, например матрицей
а затем параллельное проецирование .Видно, что полученное 3-х мерное изображение и проекция воспринимаются скошенными, что дает неверное визуальное представление об их глубине. Возьмем точку в бесконечности на оси и выполним перспективное преобразование:
Т.к.параллельные линии исходного пространства “сходятся” в бесконечности, то в преобразованном пространстве линии, которые были параллельны оси , будут сходиться в точке . Эту точку называют точкой схода.
Аналогично, перспективное преобразование
будет приводить к точке схода
|
Преобразование будет приводить к точке схода
Эти преобразования одноточечные (имеют одну точку схода). Их еще называют параллельными перспективными преобразованиями. Если в 4-м столбце матрицы два элемента ненулевые, то получим двухточечную или угловую перспективу
,
=
Точки схода в данном случае расположены на оси и на оси .
Для построения реалистичной проекции недостаточно просто отцентрировать объект. Его нужно еще повернуть определенным образом.
При построении перспективных проекций для получения “правильных” (реалистических) изображений часто полезно выполнить ряд предварительных аффинных преобразований поворотов вокруг координатных осей и смещений. При этом может измениться вид перспективы. Повернем единичный куб вокруг оси на угол и сместим его к точке . Затем построим одноточечную перспективную проекцию с центром в точке на оси на плоскости Матрица:
Т.е. матрица преобразования дает двухточечную перспективу.
При этом линии, которые были параллельны оси , остались параллельны, а линии, которые были параллельны осям и , сходятся в точках и на оси .Трех точечная перспектива получается, если предварительно выполнено вращение вокруг двух координатных осей.