sph2cart
Transformar coordenadas esféricas en cartesianas
Descripción
Ejemplos
Convierta las coordenadas esféricas definidas por las entradas correspondientes en las matrices az, el y r a las coordenadas cartesianas x, y y z. Estos puntos corresponden a los ocho vértices de un cubo.
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
Argumentos de entrada
Ángulo azimut, especificado como escalar, vector, matriz o arreglo multidimensional. azimuth debe ser real. azimuth, elevation y r deben ser del mismo tamaño o tener tamaños compatibles (por ejemplo, azimuth es una matriz de M por N, elevation es un escalar y r es un escalar o un vector fila de 1 por N). Para obtener más información, consulte Tamaños de arreglos compatibles para operaciones básicas.
azimuth es el ángulo en sentido contrario a las agujas del reloj en el plano x-y medido en radianes desde el eje x positivo.
Tipos de datos: single | double
Ángulo de elevación, especificado como escalar, vector, matriz o arreglo multidimensional. elevation debe ser real. azimuth, elevation y r deben ser del mismo tamaño o tener tamaños compatibles.
elevation es el ángulo de elevación en radianes desde el plano x-y.
Tipos de datos: single | double
Radio, especificado como escalar, vector, matriz o arreglo multidimensional. r debe ser real. azimuth, elevation y r deben ser del mismo tamaño o tener tamaños compatibles.
Las unidades de longitud de r pueden ser arbitrarias, y los arreglos de salida x, y y z utilizan las mismas unidades.
Tipos de datos: single | double
Argumentos de salida
Coordenadas cartesianas, devueltas como arreglos.
Algoritmos
La aplicación desde las coordenadas esféricas a las coordenadas cartesianas tridimensionales es
x = r .* cos(elevation) .* cos(azimuth) y = r .* cos(elevation) .* sin(azimuth) z = r .* sin(elevation)

Capacidades ampliadas
La función sph2cart es totalmente compatible con los arreglos altos. Para obtener más información, consulte Arreglos altos.
Notas y limitaciones de uso:
Si utiliza
sph2cartcon operandos de tipo simple y de tipo doble, es posible que el código generado no produzca el mismo resultado que MATLAB®. Consulte Binary Element-Wise Operations with Single and Double Operands (MATLAB Coder).
Consulte las notas y limitaciones de uso en la sección de generación de código C/C++. Las mismas notas y limitaciones de uso son aplicables a la generación de código GPU.
La función sph2cart es totalmente compatible con entornos basados en subprocesos. Para obtener más información, consulte Ejecutar funciones de MATLAB en entornos basados en subprocesos.
La función sph2cart es totalmente compatible con los arreglos de GPU. Para ejecutar la función en una GPU, especifique los datos de entrada como un gpuArray (Parallel Computing Toolbox). Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
La función sph2cart es totalmente compatible con los arreglos distribuidos. Para obtener más información, consulte Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Historial de versiones
Introducido antes de R2006aLa función sph2cart devuelve un error para entradas complejas. Esta función ya no acepta entradas complejas porque su función inversa, cart2sph, no acepta entradas complejas.
Para conservar el comportamiento de las versiones anteriores para entradas complejas, utilice las fórmulas que asignan coordenadas esféricas a coordenadas cartesianas, como se muestra en esta tabla.
| No recomendado (errores) | Recomendado |
|---|---|
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.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)