Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Introducción a los objetos de parche

¿Qué son los objetos de parche?

Un objeto de gráficos de parches se compone de uno o más polígonos que pueden o no estar conectados. Los parches son útiles para modelar objetos del mundo real, como aviones o automóviles, y para dibujar polígonos de 2 o 3-D de forma arbitraria.

Por el contrario, los objetos de superficie son cuadrículas rectangulares de cuadrilálicos y son más adecuados para mostrar topografías planas, como los valores de funciones matemáticas de dos variables, los contornos de datos en un plano rectangular o superficies parametrizadas tales como esferas.

Una serie de funciones crean objetos de parche —,,,, algunas de las funciones y.MATLAB®fillfill3isosurfaceisocapscontourpatch Esta sección se concentra en el uso de la función.patch

Se define una revisión especificando las coordenadas de sus vértices y algún tipo de datos de color. Los parches admiten una variedad de opciones de coloración que resultan útiles para visualizar datos superpuestos en formas geométricas.

Hay dos formas de especificar un parche:

  • Especificando las coordenadas de los vértices de cada polígono, que están conectadas para formar el parche

  • Especificando las coordenadas de cada vértice y una matriz que especifica cómo conectar estos vértices para formar las carasunique

La segunda técnica es preferible para parches multifacéticos porque generalmente requiere menos datos para definir el parche; vértices compartidos por más de una cara solo se deben definir una vez. En esta sección se proporcionan ejemplos de ambas técnicas.

Comportamiento de la función de parche

Hay dos formas de la función: sintaxis de alto nivel y sintaxis de bajo nivel.patch El comportamiento de la función difiere un poco en función de la sintaxis que utilice.patch

Sintaxis de alto nivel

Cuando utiliza la sintaxis de alto nivel, determina automáticamente cómo colorear cada cara en función de los datos de color que especifique.MATLAB La sintaxis de alto nivel le permite omitir los nombres de propiedad para las coordenadas-,-, y-y los datos de color, siempre y cuando especifique estos argumentos en el orden correcto.xyz

patch(x-coordinates,y-coordinates,z-coordinates,colordata) 

Sin embargo, debe especificar los datos de color para poder determinar qué tipo de coloración utilizar.MATLAB Si no especifica datos de color, devuelve un error.MATLAB

x = [0 1 1 0];
y = [0 0 1 1];
patch(x,y)
Error using patch Not enough input arguments.

Sintaxis de bajo nivel

La sintaxis de bajo nivel acepta solo los pares de valor de propiedad/nombre de propiedad como argumentos y no colorea automáticamente las caras a menos que también cambie el valor de la propiedad.FaceColor Por ejemplo, la instrucción

patch('XData',x,'YData',y)  

dibuja un parche con color de cara negro porque el valor predeterminado de fábrica de la propiedad es el color negro.FaceColor

get(groot,'FactoryPatchFaceColor') ans =       0     0     0 

Consulte la lista de la referencia de la función y el comando para obtener información sobre la obtención de los valores predeterminados de fábrica y de usuario para las propiedades.Patch PropertiesMATLABget

Interpretar el argumento de color

Cuando se utiliza la sintaxis de alto nivel, interpreta el tercer (o cuarto si hay-coordenadas) argumento como datos de color.MATLABz Si tiene la intención de definir un parche con-,-, y coordenadas, pero deja el color, interpreta las coordenadas como datos de color y, a continuación, dibuja un parche 2-D.xyzMATLABz Por ejemplo,

patch(x,y,1:length(x)) 

dibuja un parche con todos los vértices en z = 0, coloreados interpolando los colores del vértice (ya que hay un color para cada vértice), mientras que

patch(x,y,1:length(x),'y') 

dibuja un parche con vértices en valores crecientes de color amarillo.z

proporciona más información sobre las opciones para colorear parches.Cómo los datos de parches se relacionan con un mapa de colores

Creación de un solo polígono

Un polígono es simplemente un parche con una cara. Para crear un polígono, especifique las coordenadas de los vértices y los datos de color con una instrucción del formulario

patch(x-coordinates,y-coordinates,[z-coordinates],colordata) 

Por ejemplo, estas instrucciones muestran un polígono de 10 lados con una cara amarilla encerrada por un borde negro. El comando genera un polígono proporcionado correctamente.axisequal

t = 0:pi/5:2*pi; figure patch(sin(t),cos(t),'y') axis equal 

Los vértices primero y último no tienen que coincidir; cierra automáticamente cada cara poligonal del parche.MATLAB De hecho, generalmente es mejor definir cada vértice solo una vez, especialmente si está usando coloración de cara interpolada.

Los colores de cara interpolados

Puede controlar muchos aspectos del color del parche. Por ejemplo, en lugar de especificar un solo color, proporcione un rango de valores numéricos que asignan el color en cada vértice a un color en la figura ColorMap.

a = t(1:length(t)-1); %remove redundant vertex definition figure patch(sin(a),cos(a),1:length(a),'FaceColor','interp') axis equal 

ahora interpolar los colores a través de la cara del parche.MATLAB Puede colorear los bordes del parche de la misma manera, estableciendo los colores de arista que se interpolan. El comando es

patch(sin(a),cos(a),1:length(a),'EdgeColor','interp') 

proporciona más información sobre las opciones para colorear parches.Cómo los datos de parches se relacionan con un mapa de colores