local2globalcoord

Преобразуйте локальные координаты в глобальные

Синтаксис

gCoord = local2globalcoord(lclCoord,OPTION)
gCoord = local2globalcoord(___,localOrigin)
gCoord = local2globalcoord(___,localAxes)

Описание

gCoord = local2globalcoord(lclCoord,OPTION) преобразует локальные координаты lclCoord к глобальным координатам gCoord. OPTION определяет тип локального-глобального преобразования координат.

gCoord = local2globalcoord(___,localOrigin) задает источник локальной системы координат, localOrigin.

gCoord = local2globalcoord(___,localAxes) задает оси локальной системы координат, localAxes.

Входные параметры

lclCoord

Локальные координаты в прямоугольной или сферической форме координат, заданные как матрица 3 байта N. Каждый столбец представляет один набор локальных координат.

Если координаты имеют прямоугольную форму, каждый столбец содержит (x, y, z) компоненты. Модули измерения указаны в метрах.

Если координаты имеют сферическую форму, каждый столбец содержит (az, el, r) компоненты. az - угол азимута в степенях, el - угол возвышения в степенях, а r - радиус в метрах.

OPTION

Типы координатных преобразований, заданные как вектор символов. Допустимые значения

ОПЦИЯПреобразование
'rr'Локальная прямоугольная к глобальной прямоугольной
'rs'Локальный прямоугольник к глобальному сферическому
'sr'Локальный сферический к глобальному прямоугольному
'ss'Локальный сферический глобальный сферический

localOrigin

Источник локальной системы координат, заданное как 3-байтовая N матрица, содержащая прямоугольные координаты источника локальной системы координат относительно глобальной системы координат. N должны совпадать с количеством столбцов gCoord. Каждый столбец представляет отдельный источник. Однако можно задать localOrigin как вектор с 3-байтовой 1. В этом случае localOrigin расширяется до матрицы размером 3 байта N с одинаковыми столбцами.

По умолчанию: [0;0;0]

localAxes

Оси локальной системы координат, заданные как массив 3х3-бай- N. Каждая страница содержит матрицу 3 на 3, представляющую различные оси локальной системы координат. Столбцы матриц 3 на 3 задают локальные x, y и z оси в прямоугольной форме относительно глобальной системы координат. Однако можно задать localAxes как одну матрицу 3 на 3. В этом случае localAxes расширен в массив 3х3-бай- N с одинаковыми матрицами 3х3. По умолчанию это матрица тождеств.

По умолчанию: [1 0 0;0 1 0;0 0 1]

Выходные аргументы

gCoord

Глабальные координаты в прямоугольной или сферической форме координат, возвращенные как 3-бай- N матрица. Размерности gCoord соответствовать размерностям lclCoord. Источник глобальной системы координат принято в (0, 0, 0). Глобальные системные оси являются стандартными векторами модуля базиса в 3-мерное пространство, (1, 0, 0), (0, 1, 0) и (0, 0, 1).

Примеры

свернуть все

Преобразуйте из локальных прямоугольных координат в глобальные прямоугольные координаты. Локальный источник координат a (1,1,1)

globalcoord = local2globalcoord([0;1;0], 'rr',[1;1;1])
globalcoord = 3×1

     1
     2
     1

Преобразуйте локальную сферическую координату в глобальную прямоугольную.

globalcoord = local2globalcoord([30;45;4],'sr')
globalcoord = 3×1

    2.4495
    1.4142
    2.8284

Преобразуйте два вектора в глобальных координатах в два вектора в глобальных координатах с помощью global2local функция. Затем преобразуйте их назад в локальные координаты с помощью local2global функция.

Начнем с двух векторов в глобальных координатах, (0,1,0) и (1,1,1). Локальные источники (1,5,2) и (-4,5,7).

gCoord = [0 1; 1 1; 0 1]
gCoord = 3×2

     0     1
     1     1
     0     1

lclOrig = [1 -4; 5 5; 2 7];

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

lclAxes(:,:,1) = rotz(45)*roty(-15);
lclAxes(:,:,2) = roty(45)*rotx(35);

Преобразуйте векторы в глобальных координатах в локальные координаты.

lclCoord = global2localcoord(gCoord,'rr',lclOrig,lclAxes)
lclCoord = 3×2

   -3.9327    7.7782
   -2.1213   -3.6822
   -1.0168    1.7151

Преобразуйте векторы в локальных координатах назад в глобальные координаты.

gCoord1 = local2globalcoord(lclCoord,'rr',lclOrig,lclAxes)
gCoord1 = 3×2

   -0.0000    1.0000
    1.0000    1.0000
         0    1.0000

Подробнее о

свернуть все

Угол азимута, Угла возвышения

azimuth angle вектора является угол между осью x и ортогональной проекцией вектора на плоскость xy. Угол положителен в движении от оси x к оси y. Азимутальные углы лежат между -180 и 180 степенями. elevation angle является углом между вектором и его ортогональной проекцией на xy -плоск. Угол положителен при движении к положительной оси z от плоскости xy. По умолчанию направление boresight элемента или массива выровнено с положительной осью x -. Направление boresight является направлением основной лепестка элемента или массива.

Примечание

Угол возвышения иногда определяется в литературе как угол, который вектор делает с положительной осью z -. MATLAB® и продукты Communications Toolbox™ не используют это определение.

Этот рисунок иллюстрирует азимут и углы возвышения вектора направления.

Ссылки

[1] Фоли, Дж. Д., А. ван Дам, С. К. Файнер и Дж. Ф. Хьюз. Компьютерная графика: Принципы и практика в C, 2nd Ed. Reading, MA: Addison-Wesley, 1995.

Расширенные возможности

.

См. также

|

Введенный в R2020a