exponenta event banner

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

.

См. также

| |

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