cart2sph

Преобразуйте Декартовы координаты к сферическому

Описание

пример

[azimuth,elevation,r] = cart2sph(x,y,z) преобразовывает соответствующие элементы массивов Декартовой координаты xY, и z к сферическим координатам azimuth, elevation, и r.

Примеры

свернуть все

Преобразуйте Декартовы координаты, заданные соответствующими записями в матрицах xY, и z к сферическим координатам az, el, и r. Эти точки соответствуют восьми вершинам куба.

x = [1 1 1 1; -1 -1 -1 -1]
x = 2×4

     1     1     1     1
    -1    -1    -1    -1

y = [1 1 -1 -1; 1 1 -1 -1]
y = 2×4

     1     1    -1    -1
     1     1    -1    -1

z = [1 -1 1 -1; 1 -1 1 -1]
z = 2×4

     1    -1     1    -1
     1    -1     1    -1

[az,el,r] = cart2sph(x,y,z)
az = 2×4

    0.7854    0.7854   -0.7854   -0.7854
    2.3562    2.3562   -2.3562   -2.3562

el = 2×4

    0.6155   -0.6155    0.6155   -0.6155
    0.6155   -0.6155    0.6155   -0.6155

r = 2×4

    1.7321    1.7321    1.7321    1.7321
    1.7321    1.7321    1.7321    1.7321

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

свернуть все

Декартовы координаты в виде скаляров, векторов, матриц или многомерных массивов. xY, и z должен быть одного размера, или любой из них может быть скаляром.

Типы данных: single | double

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

свернуть все

Угол азимута, возвращенный как массив. azimuth против часовой стрелки угол в x-y плоскость, измеренная в радианах от положительного x - ось. Значение угла находится в области значений [-pi pi].

Угол возвышения, возвращенный как массив. elevation угол возвышения в радианах от x-y плоскость. Значение угла находится в области значений [-pi/2, pi/2].

Радиус, возвращенный как массив. r расстояние от источника до точки. Единицы длины r произвольны, совпадая с модулями входных массивов xY, и z.

Алгоритмы

Отображение от 3D Декартовых координат до сферических координат

azimuth = atan2(y,x)
elevation = atan2(z,sqrt(x.^2 + y.^2))
r = sqrt(x.^2 + y.^2 + z.^2)

Обозначение для сферических координат не является стандартным. Для cart2sph функция, elevation измеряется от x-y плоскости. Заметьте, что, если elevation = 0, точка находится в x-y плоскости. Если elevation = pi/2, затем точка находится на положительной оси z.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| |

Представлено до R2006a