exponenta event banner

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-by-N. Каждый столбец представляет один набор локальных координат.

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

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

OPTION

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

ВЫБОРПреобразование
'rr'Локальные прямоугольные или глобальные прямоугольные
'rs'Локальные прямоугольные и глобальные сферические
'sr'От локального сферического до глобального прямоугольного
'ss'От локального сферического до глобального сферического

localOrigin

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

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

localAxes

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

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

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

gCoord

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

Примеры

свернуть все

Преобразование локальных прямоугольных координат в глобальные прямоугольные координаты. Локальное начало координат равно (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

Подробнее

свернуть все

Азимутальный угол, Угол отметки

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

Примечание

Иногда угол возвышения определяется в литературе как угол вектора с положительной осью z. В продуктах MATLAB ® и Phased Array System Toolbox™ это определение не используется.

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

Ссылки

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

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

.
Представлен в R2011a