Main Content

cart2sph

카테시안 좌표(Cartesian Coordinate)를 구면 좌표(Spherical)로 변환

설명

예제

[azimuth,elevation,r] = cart2sph(x,y,z)는 카테시안 좌표 배열 x, y, z의 대응하는 요소를 구면 좌표 azimuth, elevation, r로 변환합니다.

예제

모두 축소

행렬 x, y, z의 대응하는 항목으로 정의된 카테시안 좌표를 구면 좌표 az, el, r로 변환합니다. 이 점들은 정육면체의 8개 꼭짓점에 대응됩니다.

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는 동일한 크기이거나 호환되는 크기를 가져야 합니다. 후자의 예로는 xM×N 행렬이고, y가 스칼라이며, z가 스칼라이거나 1×N 행 벡터인 경우를 들 수 있습니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.

데이터형: single | double

출력 인수

모두 축소

방위각으로서, 배열로 반환됩니다. azimuth는 x-y 평면에서 양의 x축을 기준으로 시계 반대 방향으로 측정한 각도(단위: 라디안)입니다. 각도 값의 범위는 [-pi pi]입니다.

고도각으로서, 배열로 반환됩니다. elevation은 x-y 평면으로부터의 고도각(단위: 라디안)입니다. 각도 값의 범위는 [-pi/2, pi/2]입니다.

반지름으로서, 배열로 반환됩니다. r은 원점에서 특정 점까지의 거리입니다. r의 길이 단위는 입력 배열 x, y, z의 단위와 일치하는 단위로 임의로 지정됩니다.

알고리즘

3차원 카테시안 좌표(Cartesian Coordinate)의 구면 좌표 매핑은 다음과 같습니다.

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

Figure shows a point plotted in 3-D space with X and Y in the horizontal plane and Z along the vertical axis. The point has a radius measured from the origin, an azimuthal angle measured in relation to X in the horizontal plane, and an elevation angle measured as elevation above the XY plane.

구면 좌표의 표기법은 표준이 아닙니다. cart2sph 함수에서 elevationx-y 평면으로부터 측정됩니다. elevation = 0일 때 대응하는 점은 x-y 평면에 존재합니다. elevation = pi/2일 때 대응하는 점은 양의 z축에 있습니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| |