Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

Descripción general de la iluminación

Comandos de iluminación

El entorno de gráficas de MATLAB® ofrece comandos que le permiten posicionar las fuentes de luz y ajustar las características de los objetos que reflejan la luz. Estos comandos incluyen los siguientes:

Comando

Finalidad

camlight

Crear o mover una luz con respecto a la posición de la cámara

lightangle

Crear o posicionar una luz en coordenadas esféricas

light

Crear un objeto de luz

lighting

Seleccionar un método de iluminación

material

Establecer las propiedades reflectantes de los objetos iluminados

Puede establecer las propiedades de los objetos iluminados y de la luz para conseguir resultados específicos. Además del material de esta área temática, puede visualizar los ejemplos de iluminación como una introducción a la iluminación.

Objetos de luz

Puede crear un objeto de luz mediante la función light . Tres propiedades importantes de los objetos de luz son:

  • Color: color de la proyección de luz del objeto de luz

  • Style: puede ser infinitamente lejos (valor predeterminado) o local

  • Position dirección (para las fuentes de luz infinitas) o ubicación (para las fuentes de luz locales)

La propiedad Color determina el color de la luz direccional de la fuente de luz. El color del objeto y la fuente de luz determinan el color de un objeto en una escena.

La propiedad Style determina si la fuente de luz es una fuente puntual (Style se establece en local), que se irradia desde la posición especificada hacia todas las direcciones, o una fuente de luz que se encuentra en el infinito (Style se establece en infinite), que brilla desde la dirección de la posición especificada con rayos paralelos.

La propiedad Position especifica la ubicación de la fuente de luz en las unidades de datos de los ejes. En el caso de una fuente de luz situada en el infinito, Position especifica la dirección hacia la fuente de luz.

La luz afecta a los objetos de parche y superficie que se encuentran en los mismos ejes que la luz. Estos objetos cuentan con un número de propiedades que alteran la forma en la que se ven cuando están iluminados por la luz.

Propiedades que afectan a la iluminación

No puede ver los objetos de luz por sí solos, pero puede ver sus efectos en cualquier objeto de superficie y parche que se encuentre en los ejes que contienen la luz. Un número de funciones crean estos objetos, por ejemplo, surf, mesh, pcolor, fill y fill3, así como las funciones surface y patch.

Puede controlar los efectos de la iluminación al establecer diferentes propiedades de objetos de superficie, parche, luz y ejes. Todas las propiedades tienen valores predeterminados que suelen producir los resultados deseados. Sin embargo, puede conseguir el efecto específico que desea ajustando los valores de dichas propiedades.

Propiedad

Efecto

AmbientLightColor

Una propiedad de eje que especifica el color de la luz de fondo de la escena, que no tiene dirección y afecta a todos los objetos de manera uniforme. Los efectos de la luz ambiental se producen únicamente cuando hay un objeto de luz visible en los ejes.

AmbientStrength

Una propiedad de superficie y parche que determina la intensidad del componente ambiental de la luz reflejada desde el objeto.

DiffuseStrength

Una propiedad de superficie y parche que determina la intensidad del componente difuso de la luz reflejada desde el objeto.

SpecularStrength

Una propiedad de superficie y parche que determina la intensidad del componente especular de la luz reflejada desde el objeto.

SpecularExponent

Una propiedad de superficie y parche que determina el tamaño del destello especular.

SpecularColorReflectance

Una propiedad de superficie y parche que determina el grado con el que el color de objeto o el color de la fuente de luz colorea la luz reflejada de forma especular.

FaceLighting

Una propiedad de superficie y parche que determina el método utilizado para calcular el efecto de la luz en las caras del objeto. Las opciones son sin iluminación, plana o algoritmo de iluminación de Gouraud.

EdgeLighting

Una propiedad de superficie y parche que determina el método utilizado para calcular el efecto de la luz en los bordes del objeto. Las opciones son sin iluminación, plana o algoritmo de iluminación de Gouraud.

BackFaceLighting

Una propiedad de superficie y parche que determina cómo se iluminan las caras cuando las normales del vértice señalan hacia fuera de la cámara. Esta propiedad es útil para diferenciar entre las superficies internas y externas de un objeto.

FaceColor

Una propiedad de superficie y parche que especifica el color de las caras del objeto.

EdgeColor

Una propiedad de superficie y parche que especifica el color de los bordes del objeto.

VertexNormals

Una propiedad de superficie y parche que contiene vectores normales para cada vértice del objeto. MATLAB utiliza los vectores normales de los vértices para realizar cálculos de iluminación. Aunque MATLAB genera estos datos automáticamente, usted también puede especificar sus propias normales de vértice.

NormalMode

Una propiedad de superficie y parche que determina si MATLAB recalcula las normales de vértice si usted cambia los datos del objeto (auto) o utiliza los valores actuales de la propiedad VertexNormals (manual). Si especifica los valores para VertexNormals, MATLAB establece esta propiedad en manual.

Para obtener más información, consulte Axes Properties, Surface Properties y Patch Properties.

Ejemplos de control de iluminación

La iluminación es una técnica para añadir realismo a una escena gráfica. Esto se realiza mediante la simulación de las zonas oscuras e iluminadas que tiene un objeto con iluminación natural (p. ej., la luz direccional que procede del sol). Para crear los efectos de iluminación, MATLAB define un objeto de gráficas llamado luz. MATLAB aplica iluminación a objetos de parche y de superficie.

Ejemplo: incorporación de luces a una escena

Este ejemplo muestra la superficie de la membrana y la ilumina con una fuente de luz que surge desde una ubicación en la parte derecha de la posición de la cámara.

membrane
camlight

La creación de una luz activa un número de propiedades relacionadas con la iluminación, que controlan características como la luz ambiental y las propiedades reflectantes de los objetos.

Ejemplo: iluminación de funciones matemáticas

La iluminación puede mejorar las gráficas de superficie de las funciones matemáticas. Por ejemplo, utilice el comando ezsurf para evaluar la expresión

sin(x2+y2)÷(x2+y2)

sobre la región -6π a 6π.

h = ezsurf('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)',[-6*pi,6*pi]);

Ahora, añada la iluminación mediante la función lightangle, que acepta la posición de la luz en cuanto al acimut y la elevación.

view(0,75)
shading interp
lightangle(-45,30)
h.FaceLighting = 'gouraud';
h.AmbientStrength = 0.3;
h.DiffuseStrength = 0.8;
h.SpecularStrength = 0.9;
h.SpecularExponent = 25;
h.BackFaceLighting = 'unlit';

Tras obtener el identificador del objeto de superficie mediante findobj, puede configurar las propiedades que afecta al modo en que la luz se refleja desde la superficie. Consulte Propiedades que afectan a la iluminación para obtener descripciones más detalladas sobre estas propiedades.