Двумерные преобразования в однородных координатах


Как видно из приведенных выше формул двумерные преобразования имеют различный вид. Сдвиг реализуется сложением, а масштабирование и поворот - умножением. Это различие затрудняет формирование суммарного преобразования и устраняется использованием двумерных однородных координат точки, имеющих вид:

[ x y w]:

Здесь w - произвольный множитель не равный 0.

Двумерные декартовые координаты точки получаются из однородных делением на множитель w: X =x/w; Y =y/w

Однородные координаты можно представить как промасштабированные с коэффициентом w значения двумерных координат, расположенные в плоскости с Z =w. В силу произвольности значения w в однородных координатах не существует единственного представления точки, заданной в декартовых координатах.

Преобразования переноса, масштабирования и поворота в однородных координатах относительно центра координат все имеют одинаковую форму произведения вектора исходных координат на матрицу преобразования.

Для переноса

-матрица переноса

Для масштабирования

Для поворота

 

5. 3-х мерные преобразования. Суммарное преобразование. (км)

 

Аналогично тому, как двумерные преобразования описываются матрицами размером 3x3, трехмерные преобразования могут быть представлены в виде матриц размером 4x4. И тогда трехмерная точка (х, у, z) записывается в однородных координатах как (W*x, W*y, W*z, W), где W 0. Если W 1, для получения трехмерных-декартовых координат точки (х, у, z) первые три однородные координаты делятся на W. Отсюда, в частности, следует, что две точки H1 и Н2 в пространстве однородных координат описывают одну и ту же точку трехмерного пространства в том и только в том случае, когда H1 =cH2 для любой константы с, не равной нулю.

Применяемая здесь трехмерная система координат является правосторонней

Перенос:

Масштабирование:

Поворот вокруг оси X:

Поворот вокруг оси Y:

 

Поворот вокруг оси Z:

Столбцы (и строки) верхней левой подматрицы размером 3x3 матриц Rz, Rx и Ry представляют собой взаимно ортогональные единичные векторы, интерпретация которых такая же, что и в двумерном случае.

Все эти матрицы преобразований имеют обратные матрицы

обратная Т, получается подстановкой знака минус перед Dx, Dy и Dz,

обратная S — заменой Sx, Sy и Sz на обратные им значения,

а для каждой из трех матриц поворота — выбором отрицательного угла поворота

Результатом произвольной последовательности поворотов вокруг осей х, у и z является матрица А, имеющая вид:

Подматрицу поворота размером 3x3 называют ортогональной, поскольку ее столбцы являются взаимно ортогональными единичными векторами. При повороте, задаваемом матрицей, эти единичные векторы совмещаются с осями х, у и z. Иногда возникает необходимость определить матрицу поворота, соответствующую таким направлениям. Матрицы поворота сохраняют длину и углы, а матрицы масштабирования и переноса не сохраняют.

Для любой ортогональной матрицы В обратная матрица совпадает с транспонированной B-1=BT. Этот результат является полезным, поскольку вычислять матрицу, обратную матрице поворота, приходится часто. В действительности для получения транспонированной матрицы не требуются даже взаимные пересылки между элементами массива, описывающего матрицу. Необходимо только при выборе элементов массива поменять местами индексы строк и столбцов. Отметим, что этот метод определения обратной матрицы дает тот же результат, что и способ обращения Rx, Ry, Rz, основанный на подстановке

знака минус перед углом φ/

Можно перемножить произвольное число матриц поворота, масштабирования и переноса. Результат всегда будет иметь вид

 

Рисование в Windows:

 

6. GDI. Контекст устройства.(км)

 

Графические функции из состава WinAPI объединяются в отдельную группу – подсистему GDI.

GDI (Grafic device interface)- можно представить себе как графическую машину, которая исп. Windows и ее приложения ,для отображения и манипулирования графикой, причем эти функции не зависят от используемого устройства.

Приложение --> GDI --> драйвер устройства --> видеопамять

Аппаратная независимость реализуется через использование драйверов устройств, которые переводят функции GDI в команды, воспроизводимые устройством вывода.



Дата добавления: 2016-07-18; просмотров: 2782;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.