cart2sph
카테시안 좌표(Cartesian Coordinate)를 구면 좌표(Spherical)로 변환
설명
예제
카테시안 좌표를 구면 좌표로 변환하기
행렬 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
— 카테시안 좌표
스칼라 | 벡터 | 행렬 | 다차원 배열
카테시안 좌표로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. x
, y
, z
는 동일한 크기이거나 호환되는 크기를 가져야 합니다. 후자의 예로는 x
가 M
×N
행렬이고, y
가 스칼라이며, z
가 스칼라이거나 1
×N
행 벡터인 경우를 들 수 있습니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.
데이터형: single
| double
출력 인수
azimuth
— 방위각(Azimuth)
배열
방위각으로서, 배열로 반환됩니다. azimuth
는 x-y 평면에서 양의 x축을 기준으로 시계 반대 방향으로 측정한 각도(단위: 라디안)입니다. 각도 값의 범위는 [-pi pi]
입니다.
elevation
— 고도각(Elevation Angle)
배열
고도각으로서, 배열로 반환됩니다. elevation
은 x-y 평면으로부터의 고도각(단위: 라디안)입니다. 각도 값의 범위는 [-pi/2, pi/2]
입니다.
r
— 반지름
배열
반지름으로서, 배열로 반환됩니다. 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
함수에서 elevation
은 x-y 평면으로부터 측정됩니다. elevation = 0
일 때 대응하는 점은 x-y 평면에 존재합니다. elevation = pi/2
일 때 대응하는 점은 양의 z축에 있습니다.
확장 기능
tall형 배열
메모리에 담을 수 없을 정도로 많은 행을 가진 배열을 계산할 수 있습니다.
이 함수는 tall형 배열을 완전히 지원합니다. 자세한 내용은 tall형 배열 항목을 참조하십시오.
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
single형 및 double형 피연산자와 함께
cart2sph
를 사용하면 생성된 코드가 MATLAB®과 동일한 결과를 나타내지 않을 수 있습니다. Binary Element-Wise Operations with Single and Double Operands (MATLAB Coder) 항목을 참조하십시오.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
이 함수는 GPU 배열을 완전히 지원합니다. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)