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는 모두 크기가 동일하거나 스칼라일 수 있습니다.

데이터형: 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)

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

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| |