cart2sph

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

Описание

пример

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

Примеры

свернуть все

Преобразуйте Декартовы координаты, заданные соответствующими записями в матрицах x, y, и 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

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

свернуть все

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

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

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

свернуть все

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

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

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

Алгоритмы

Отображение трехмерных Декартовых координат в сферические координаты является

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++ с помощью Coder™ MATLAB ®

.

См. также

| |

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