sph2cart
구면 좌표를 카테시안 좌표로 변환
설명
예제
행렬 az, el, r의 대응하는 요소로 정의된 구면 좌표를 카테시안 좌표 x, y, z로 변환합니다. 이 점들은 정육면체의 8개 꼭짓점에 대응됩니다.
az = [0.7854 0.7854 -0.7854 -0.7854; 2.3562 2.3562 -2.3562 -2.3562]
az = 2×4
0.7854 0.7854 -0.7854 -0.7854
2.3562 2.3562 -2.3562 -2.3562
el = [0.6155 -0.6155 0.6155 -0.6155; 0.6155 -0.6155 0.6155 -0.6155]
el = 2×4
0.6155 -0.6155 0.6155 -0.6155
0.6155 -0.6155 0.6155 -0.6155
r = 1.7321*ones(2,4)
r = 2×4
1.7321 1.7321 1.7321 1.7321
1.7321 1.7321 1.7321 1.7321
[x,y,z] = sph2cart(az,el,r)
x = 2×4
1.0000 1.0000 1.0000 1.0000
-1.0000 -1.0000 -1.0000 -1.0000
y = 2×4
1.0000 1.0000 -1.0000 -1.0000
1.0000 1.0000 -1.0000 -1.0000
z = 2×4
1.0001 -1.0001 1.0001 -1.0001
1.0001 -1.0001 1.0001 -1.0001
입력 인수
방위각으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. azimuth는 실수여야 합니다. azimuth, elevation, r은 동일한 크기이거나 호환되는 크기를 가져야 합니다. 후자의 예로는 azimuth가 M×N 행렬이고, elevation이 스칼라이며, r이 스칼라이거나 1×N 행 벡터인 경우를 들 수 있습니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.
azimuth는 x-y 평면에서 양의 x축을 기준으로 시계 반대 방향으로 측정한 각도(단위: 라디안)입니다.
데이터형: single | double
고도각으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. elevation은 실수여야 합니다. azimuth, elevation, r은 동일한 크기이거나 호환되는 크기를 가져야 합니다.
elevation은 x-y 평면으로부터의 고도각(단위: 라디안)입니다.
데이터형: single | double
반지름으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. r은 실수여야 합니다. azimuth, elevation, r은 동일한 크기이거나 호환되는 크기를 가져야 합니다.
r의 길이 단위는 임의적일 수 있고, 출력 배열 x, y, z는 같은 단위를 사용합니다.
데이터형: single | double
출력 인수
카테시안 좌표로, 배열로 반환됩니다.
알고리즘
구면 좌표에서 3차원 카테시안 좌표로의 매핑은 다음과 같습니다.
x = r .* cos(elevation) .* cos(azimuth) y = r .* cos(elevation) .* sin(azimuth) z = r .* sin(elevation)

확장 기능
sph2cart 함수는 tall형 배열을 완전히 지원합니다. 자세한 내용은 tall형 배열 항목을 참조하십시오.
사용법 관련 참고 및 제한 사항:
single형 및 double형 피연산자와 함께
sph2cart를 사용하면 생성된 코드가 MATLAB®과 동일한 결과를 나타내지 않을 수 있습니다. Binary Element-Wise Operations with Single and Double Operands (MATLAB Coder) 항목을 참조하십시오.
C/C++ 코드 생성 섹션의 사용법 관련 참고 및 제한 사항을 참조하십시오. GPU 코드 생성에도 동일한 사용법 관련 참고 및 제한 사항이 적용됩니다.
sph2cart 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
sph2cart 함수는 GPU 배열을 완전히 지원합니다. GPU에서 이 함수를 실행하려면 입력 데이터를 gpuArray (Parallel Computing Toolbox)로 지정하십시오. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
sph2cart 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨sph2cart 함수는 복소수 입력값에 대해 오류를 반환합니다. 이 함수는 더 이상 복소수 입력값을 허용하지 않습니다. 역함수인 cart2sph가 복소수 입력값을 허용하지 않기 때문입니다.
복소수 입력값에 대한 이전 릴리스의 동작을 그대로 유지하려면, 다음 표에 나와 있는 대로 구면 좌표를 카테시안 좌표로 매핑하는 공식을 사용하십시오.
| 권장되지 않음(오류) | 권장됨 |
|---|---|
azimuth = 1i; elevation = 2i; r = 1; [x,y,z] = sph2cart(azimuth,elevation,r); | azimuth = 1i; elevation = 2i; r = 1; x = r*cos(elevation)*cos(azimuth); y = r*cos(elevation)*sin(azimuth); z = r*sin(elevation); |
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)