Contenido principal

sphere

Descripción

Crear datos de esferas

[X,Y,Z] = sphere devuelve las coordenadas x, y y z de una esfera sin dibujarla. La esfera devuelta tiene un radio igual a 1 y consta de caras de 20 por 20.

La función devuelve las coordenadas x, y y z como tres matrices de 21 por 21.

Para dibujar la esfera utilizando las coordenadas devueltas, utilice las funciones surf o mesh.

ejemplo

[X,Y,Z] = sphere(n) devuelve las coordenadas x, y y z de una esfera con un radio igual a 1 y con caras de n por n. La función devuelve las coordenadas x, y y z como tres matrices de (n+1) por (n+1).

ejemplo

Representar esferas

sphere(___) representa la esfera sin devolver las coordenadas. Utilice esta sintaxis con cualquiera de los argumentos de entrada de las sintaxis anteriores.

ejemplo

sphere(___,Name=Value) establece las propiedades de la gráfica utilizando uno o más argumentos nombre-valor. Por ejemplo, puede especificar el color y la transparencia de la esfera. Para obtener una lista de las propiedades, consulte Surface Properties. (desde R2024b)

sphere(ax,___) representa en los ejes que especifica ax en lugar de en los ejes actuales. Especifique los ejes como primer argumento de entrada.

ejemplo

Ejemplos

contraer todo

Cree y represente una esfera con un radio igual a 1. Utilice axis equal para utilizar unidades de datos iguales a lo largo de cada dirección de coordenadas.

sphere
axis equal

Figure contains an axes object. The axes object contains an object of type surface.

Especifique el radio y la ubicación de una esfera modificando las coordenadas X, Y y Z devueltas.

Defina X, Y y Z como coordenadas de una esfera unidad.

[X,Y,Z] = sphere;

Represente la esfera unidad centrada en el origen.

surf(X,Y,Z)
axis equal

Figure contains an axes object. The axes object contains an object of type surface.

Defina X2, Y2 y Z2 como coordenadas de una esfera con un radio de 5 multiplicando las coordenadas de la esfera unidad. Represente la segunda esfera, centrándola en (5,-5,0).

hold on
r = 5;
X2 = X * r;
Y2 = Y * r;
Z2 = Z * r;

surf(X2+5,Y2-5,Z2)

Figure contains an axes object. The axes object contains 2 objects of type surface.

Llame a la función tiledlayout para crear un diseño de gráfica en mosaico de 2 por 2. Llame a la función nexttile para crear los ejes. A continuación, utilice la función sphere para representar tres esferas con distintos números de caras en mosaicos diferentes de la gráfica especificando los ejes.

tiledlayout(2,2);
ax1 = nexttile;
sphere(ax1);
axis equal
title('20-by-20 faces (Default)')

ax2 = nexttile;
sphere(ax2,50)
axis equal
title('50-by-50 faces')

ax3 = nexttile;
sphere(ax3,100)
axis equal
title('100-by-100 faces')

Figure contains 3 axes objects. Axes object 1 with title 20-by-20 faces (Default) contains an object of type surface. Axes object 2 with title 50-by-50 faces contains an object of type surface. Axes object 3 with title 100-by-100 faces contains an object of type surface.

Argumentos de entrada

contraer todo

Número de caras, especificado como entero positivo.

Ejes objetivo, especificados como objeto Axes. Si no especifica los ejes, sphere representa en los ejes actuales.

Argumentos de par nombre-valor

contraer todo

Especifique pares opcionales de argumentos como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.

Ejemplo: sphere(40,FaceColor="red") representa una esfera roja.

Nota

Las propiedades que se enumeran aquí son solo un subconjunto. Para obtener una lista completa, consulte Surface Properties.

Color de cara, especificado como uno de los valores de esta tabla.

ValorDescripción
'flat'

Utilice un color diferente para cada cara según los valores en la propiedad CData. En primer lugar, debe especificar la propiedad CData como matriz del mismo tamaño que ZData. El valor de color del primer vértice de cada cara (en las direcciones positivas x e y) determina el color de toda la cara. No puede utilizar este valor cuando la propiedad FaceAlpha está establecida en 'interp'.

Sample of a surface with each face a different color based on sample values in the CData property

'interp'

Utilice colores interpolados para cada cara según los valores en la propiedad CData. En primer lugar, debe especificar la propiedad CData como matriz del mismo tamaño que ZData. El color varía en cada cara interpolando los valores de color en los vértices. No puede utilizar este valor cuando la propiedad FaceAlpha está establecida en 'flat'.

Sample of a surface with each face showing different interpolated coloring based on sample values in the CData property

Triplete RGB, código de color hexadecimal o nombre del color

Utilice el color especificado para todas las caras. Esta opción no incluye los valores de color en la propiedad CData.

Sample of a surface with all faces shown in red

'texturemap'Transforme los datos de color de CData, para que se adapte a la superficie.
'none'No dibuje las caras.

Los tripletes RGB y los códigos de color hexadecimales son útiles para especificar colores personalizados.

  • Un triplete RGB es un vector fila de tres elementos, cuyos elementos especifican las intensidades de los componentes rojo, verde y azul del color. Las intensidades deben estar en el rango [0,1]; por ejemplo, [0.4 0.6 0.7].

  • Un código de color hexadecimal es un vector de caracteres o un escalar de cadena que comienza con el símbolo de almohadilla (#) seguido de tres o seis dígitos hexadecimales, que pueden oscilar entre 0 y F. Los valores no distinguen entre mayúsculas y minúsculas. Así, los códigos de color "#FF8800", "#ff8800", "#F80" y "#f80" son equivalentes.

Como alternativa, puede especificar algunos colores frecuentes por su nombre. En esta tabla se enumeran las opciones de color con su nombre, los tripletes RGB equivalentes y los códigos de color hexadecimales.

Nombre del colorNombre cortoTriplete RGBCódigo de color hexadecimalApariencia
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

En esta tabla, se enumeran las paletas de colores predeterminados para las gráficas en los temas claro y oscuro.

PaletaColores de la paleta

"gem": tema claro predeterminado

Antes de R2025a: La mayoría de las gráficas utilizan estos colores de forma predeterminada.

Sample of the "gem" color palette

"glow": tema oscuro predeterminado

Sample of the "glow" color palette

Puede obtener los tripletes RGB y los códigos de color hexadecimales de estas paletas usando las funciones orderedcolors y rgb2hex. Por ejemplo, puede obtener los tripletes RGB de la paleta "gem" y convertirlos en códigos de color hexadecimales.

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

Antes de R2023b: Obtenga los tripletes RGB usando RGB = get(groot,"FactoryAxesColorOrder").

Antes de R2024a: Obtenga los códigos de color hexadecimales usando H = compose("#%02X%02X%02X",round(RGB*255)).

Transparencia de cara, especificada como uno de estos valores:

  • Escalar en el intervalo [0,1]: utiliza una transparencia uniforme en todas las caras. Un valor de 1 es totalmente opaco y 0 es totalmente transparente. Los valores situados entre 0 y 1 son semitransparentes. Esta opción no utiliza los valores de transparencia en la propiedad AlphaData.

  • 'flat': utiliza una transparencia diferente para cada cara según los valores en la propiedad AlphaData. El valor de transparencia del primer vértice determina la transparencia de toda la cara. En primer lugar, debe especificar la propiedad AlphaData como matriz del mismo tamaño que la propiedad ZData. La propiedad FaceColor también se debe establecer en 'flat'.

  • 'interp': utilice transparencia interpolada para cada cara según los valores de la propiedad AlphaData. La transparencia varía en cada cara interpolando los valores en los vértices. En primer lugar, debe especificar la propiedad AlphaData como matriz del mismo tamaño que la propiedad ZData. La propiedad FaceColor también se debe establecer en 'interp'.

  • 'texturemap': transforma los datos de AlphaData, para que se adapten a la superficie.

Color de línea de borde, especificado como uno de los valores que se enumeran aquí. El color predeterminado de [0 0 0] se corresponde con bordes negros.

ValorDescripción
'none'No dibuje los bordes.
'flat'

Utilice un color diferente para cada borde según los valores en la propiedad CData. En primer lugar, debe especificar la propiedad CData como matriz del mismo tamaño que ZData. El valor de color del primer vértice de cada cara (en las direcciones positivas x e y) determina el color de los bordes adyacentes. No puede utilizar este valor cuando la propiedad EdgeAlpha está establecida en 'interp'.

Sample of a surface with each edge a different color based on sample values in the CData property

'interp'

Utilice colores interpolados para cada borde según los valores en la propiedad CData. En primer lugar, debe especificar la propiedad CData como matriz del mismo tamaño que ZData. El color varía en cada borde interpolando linealmente los valores de color en los vértices. No puede utilizar este valor cuando la propiedad EdgeAlpha está establecida en 'flat'.

Sample of a surface with each edge showing different interpolated coloring based on sample values in the CData property

Triplete RGB, código de color hexadecimal o nombre del color

Utilice el color especificado para todos los bordes. Esta opción no incluye los valores de color en la propiedad CData.

Sample of a surface with all edges shown in red

Los tripletes RGB y los códigos de color hexadecimales son útiles para especificar colores personalizados.

  • Un triplete RGB es un vector fila de tres elementos, cuyos elementos especifican las intensidades de los componentes rojo, verde y azul del color. Las intensidades deben estar en el rango [0,1]; por ejemplo, [0.4 0.6 0.7].

  • Un código de color hexadecimal es un vector de caracteres o un escalar de cadena que comienza con el símbolo de almohadilla (#) seguido de tres o seis dígitos hexadecimales, que pueden oscilar entre 0 y F. Los valores no distinguen entre mayúsculas y minúsculas. Así, los códigos de color "#FF8800", "#ff8800", "#F80" y "#f80" son equivalentes.

Como alternativa, puede especificar algunos colores frecuentes por su nombre. En esta tabla se enumeran las opciones de color con su nombre, los tripletes RGB equivalentes y los códigos de color hexadecimales.

Nombre del colorNombre cortoTriplete RGBCódigo de color hexadecimalApariencia
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

En esta tabla, se enumeran las paletas de colores predeterminados para las gráficas en los temas claro y oscuro.

PaletaColores de la paleta

"gem": tema claro predeterminado

Antes de R2025a: La mayoría de las gráficas utilizan estos colores de forma predeterminada.

Sample of the "gem" color palette

"glow": tema oscuro predeterminado

Sample of the "glow" color palette

Puede obtener los tripletes RGB y los códigos de color hexadecimales de estas paletas usando las funciones orderedcolors y rgb2hex. Por ejemplo, puede obtener los tripletes RGB de la paleta "gem" y convertirlos en códigos de color hexadecimales.

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

Antes de R2023b: Obtenga los tripletes RGB usando RGB = get(groot,"FactoryAxesColorOrder").

Antes de R2024a: Obtenga los códigos de color hexadecimales usando H = compose("#%02X%02X%02X",round(RGB*255)).

Transparencia del borde, especificada como uno de estos valores:

  • Escalar en el intervalo [0,1]: utiliza una transparencia uniforme en todos los bordes. Un valor de 1 es totalmente opaco y 0 es totalmente transparente. Los valores situados entre 0 y 1 son semitransparentes. Esta opción no utiliza los valores de transparencia en la propiedad AlphaData.

  • 'flat': utiliza una transparencia diferente para cada borde según los valores en la propiedad AlphaData. En primer lugar, debe especificar la propiedad AlphaData como matriz del mismo tamaño que la propiedad ZData. El valor de transparencia del primer vértice determina la transparencia de todo el borde. La propiedad EdgeColor también se debe establecer en 'flat'.

  • 'interp': utiliza transparencia interpolada para cada borde según los valores de la propiedad AlphaData. En primer lugar, debe especificar la propiedad AlphaData como matriz del mismo tamaño que la propiedad ZData. La transparencia varía en cada borde interpolando los valores en los vértices. La propiedad EdgeColor también se debe establecer en 'interp'.

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también

Funciones

Propiedades