Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МОПР лабораторные.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆
    1. Однородные координаты

Поскольку трехмерная матрица поворота не несет информации о поступательном перемещении и используемом масштабе, вектор координат Р=(px,py, pz)T в трехмерном пространстве дополняют четвертой координатой (или компонентой) так, что он принимает вид Р=(wpx,wpy, wpz, w)T. В этом случае говорят, что вектор Р выражен в однородных координатах. Описание точек трехмерного пространства однородными координатами позволяет ввести в рассмотрение матричное преобразования, содержащие одновременно поворот, параллельный перенос, изменение масштаба и преобразование перспективы.

В общем случае изображение N-мерного вектора вектором размерностью N +1 называется представлением в однородных координатах. При таком представлении преобразование N-мерного вектора производиться в (N+1)-мерном пространстве, а физический N-мерный вектор получается делением однородных координат на (N+1)-ю компоненту w. Так, вектор Р=(px,py, pz)T положения в трехмерном пространстве в однородных координатах представляется расширенным вектором (wpx,wpy, wpz, w)T.Физические координаты связаны с однородными следующим образом:

Представление трехмерного вектора положения в однородных координатах не единственно. Например Р1=(w1px,w1py, w1pz, w1)T и Р2=(w2px,w2py, w2pz, w 2)T являются различными однородными представлениями одного и того же вектора положения Р=(px,py, pz)T . Таким образом, четвертую компоненту w вектора однородных координат можно рассматривать как масштабирующий множитель. Если эта компонента равна 1 (w=1), то однородные координаты вектора положения совпадают с его физическими координатами. В робототехнике масштабирующий множитель всегда выбирают равным 1, а в задачах машинной графики он принимает любое положительное значение.

    1. Однородная матрица преобразования

Однородная матрица преобразования представляет собой матрицу размерностью 4х4, которая преобразует вектор, выраженный в однородных координатах, из одной системы отсчета в другую. Однородная матрица преобразования может быть разбита на четыре подматрицы:

Верхняя левая подматрица размерностью 3х3 представляет собой матрицу поворота; верхняя правая подматрица размерностью 3х1 представляет собой вектор положения начала координат повернутой системы отсчета относительно абсолютной; нижняя левая матрица размерностью 1х3 задает преобразование перспективы; четвертый диагональный элемент является глобальным маштабирующим множителем. Однородная матрица преобразования позволяет выявить геометрическую связь между связанной системой отсчета OUVW и абсолютной системой OXYZ.

Если вектор Р трехмерного пространства выражен в однородных координатах (т.е. Р=(px,py, pz,1)T, то, используя понятие матрицы преобразования, можно сформировать однородную матрицу преобразования ROT(k,Q) , задающую преобразование поворота вокруг вектора k на угол Q и имеющую размерность 4х4. Однородная матрица поворота получается соответствующим расширением обычной матрицы поворота, имеющей размерность 3х3.

Так однородное преобразование, описывающее поворот вокруг оси Х на угол  будет иметь вид:

Поворот вокруг оси Y на угол :

.

Поворот вокруг оси Z на угол :

.

Эти матрицы размерностью 4x4 называются однородными матрицами элементарных поворотов.

Верхняя правая подматрица однородной матрицы преобразования, имеющая размерность 3x1, задает параллельный перенос системы координат OUVW относительно абсолютной системы OXYZ на вектор (dx, dy, dz) T

.

Эта матрица размерностью 4x4 называется однородной матрицей элементарного сдвига.

Правая нижняя подматрица однородной матрицы преобразования размерностью 1х1 определяет глобальное преобразование масштаба

,

где s>0. Физические декартовы координаты вектора будут равны:

.

Таким образом, четвертый диагональный элемент однородной матрицы преобразования определяет глобальное сжатие координат, если s>1, и растяжение, если 0<s<1.

Левая нижняя подматрица однородной матрицы преобразования размерностью 1x3 определяет преобразование перспективы. Действие ее эквивалентно эффекту линзы.

Так например, для случая когда объемное изображение проецируется через линзу, имеющую фокусное расстояние f, при этом оптическая ось линзы проходит вдоль оси OY системы координат OXYZ, связанной с объемным телом, оптическое преобразование будет иметь вид:

.

Спроецированные однородные координаты точек тела определяются как:

.

Таким образом декартовы координаты спроецированного изображения получаются путем деления на весовой коэффициент 1-y/f:

.

В робототехнике оптическое преобразование используется в задачах машинного зрения, когда с помощью камеры определяются в пространстве положение, форма и размеры объектов манипулирования или препятствий. При этом оптическое преобразование проецирует точки трехмерного пространства на плоскость. В случае когда оптическая ось линзы проходит вдоль оси ОУ системы координат ОХУZ, спроецированные на плоскость oxz координаты точки трехмерного пространства определяются из уравнений:

,

.

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

Множитель -1/f необходимо включить в последнюю строку первой колонки матрицы Р, если оптическая ось линзы проходит вдоль оси OX системы координат OXYZ. Если оптическая ось линзы проходит вдоль оси OZ системы координат OXYZ множитель -1/f необходимо включить в последнюю строку третей колонки.

Таким образом с помощью матрицы однородного преобразования можно описать одновременно поворот и перенос одной системы координат относительно другой, задать масштабирование и преобразование перспективы. Матрицы однородного преобразования позволяет связать координаты точки , заданные в абсолютной системе координат с координатами точки , заданные в связанной системе координат.