照明的概述
照明的命令
MATLAB®图形环境提供命令,使您能够定位光源和调整反射光线的对象的特征。这些命令包括以下内容。
命令 |
目的 |
---|---|
创建或移动一个光相对于相机的位置 |
|
在球坐标中创建或定位一个光 |
|
创建一个轻对象 |
|
选择一种照明方法 |
|
设置点亮物体的反射率属性 |
您可以设置灯光和灯光对象属性来实现特定的结果。除了本主题区域的材料之外,您还可以探索照明示例,作为可视化照明的介绍。
轻的物体
属性创建光对象光
函数。三个重要的光物体属性是
的颜色
属性决定了来自光源的方向光的颜色。场景中物体的颜色是由物体的颜色和光源决定的。
的风格
属性确定光源是否为点源(风格
设置为当地的
),从指定位置向各个方向辐射,或放置在无限远处的光源(风格
设置为无限
),以平行光线从指定位置的方向照射。
的位置
属性指定光源在轴数据单位中的位置。在无穷远的光源的情况下,位置
指定光源的方向。
光影响与光在同一轴上的表面和补丁物体。这些物体有许多属性,可以改变它们被灯光照亮时的样子。
影响照明的属性
你不能看到光的物体本身,但你可以看到它们对任何补丁和表面物体的影响,在包含光的轴上。有许多函数可以创建这些对象,包括冲浪
,网
,pcolor
,填满
,fill3
以及表面
而且补丁
功能。
您可以通过设置各种轴、光、补丁和表面对象属性来控制灯光效果。所有属性都有缺省值,通常会产生理想的结果。但是,您可以通过调整这些属性的值来实现您想要的特定效果。
财产 |
效果 |
---|---|
一个轴属性,用于指定场景中背景光的颜色,它没有方向,并且均匀地影响所有对象。只有当轴上有可见光物体时,环境光效果才会发生。 |
|
一个补丁和表面属性,它决定了从物体反射的光的环境成分的强度。 |
|
一种斑块和表面特性,它决定从物体反射的光的漫反射成分的强度。 |
|
一种斑块和表面特性,它决定从物体反射的光的镜面成分的强度。 |
|
决定高光大小的补丁和表面属性。 |
|
一种补丁和表面特性,它决定了反射光被物体颜色或光源颜色着色的程度。 |
|
一种补丁和表面属性,它决定了用于计算光在物体表面上的效果的方法。选择要么不照明,平照明,要么高劳照明算法。 |
|
一个补丁和表面属性,它决定了用于计算光在物体边缘上的效果的方法。选择是不照明、平照明或高劳照明算法。 |
|
一个补丁和表面属性,用于确定当面的顶点法线指向远离相机时,面如何被点亮。此属性用于区分对象的内部表面和外部表面。 |
|
指定对象表面颜色的补丁和表面属性。 |
|
指定对象边缘颜色的补丁和表面属性。 |
|
一个补丁和面属性,包含对象每个顶点的法向量。MATLAB使用顶点法向量进行光照计算。当MATLAB自动生成这些数据时,您也可以指定自己的顶点法线。 |
|
一个补丁和面属性,用于确定如果更改对象数据( |
照明控制的例子
照明是一种为图形场景增加真实感的技术。它通过模拟自然光照下物体上的高光和暗区(例如,来自太阳的方向光)来实现这一点。为了创建灯光效果,MATLAB定义了一个名为light的图形对象。MATLAB将光照应用于表面和补丁对象。
示例-在场景中添加灯光
此示例显示膜表面,并用从相机位置右侧的位置发出的光源照亮它。
膜camlight
创建一盏灯会激活许多与照明相关的属性,例如环境光和物体的反射率属性。
例子-阐释数学函数
光照可以增强数学函数的曲面。例如,使用ezsurf
命令对表达式求值
h = ezsurf(“罪(√x ^ 2 + y ^ 2)) /√(x ^ 2 + y ^ 2)”,[6 *π,6 *π]);
现在添加照明使用lightangle
函数,它根据方位角和仰角接受光的位置。
h.FaceLighting = 'gouraud';h.AmbientStrength = 0.3;h. diffusstrength = 0.8;h.SpecularStrength = 0.9;h.SpecularExponent = 25;h.BackFaceLighting = '未点亮';
在获取表面对象的句柄后使用findobj
,可以设置影响光线从表面反射的属性。看到影响照明的属性获取这些属性的更详细描述。