此为 Mathematica 7 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

Lighting

Lighting
是一个 Graphics3D 和相关函数的选项,它指定在三维图形中是否模拟光照。
  • 可以给出下列选项:
Automatic缺省的光照方案
None无光照
{s1,s2,...}光源 s1s2...
  • 每个光照可以是下列选项:
{"Ambient",col}统一颜色 col 的环境照明度
{"Directional",col,pt}pt 来的定向光到边框的中心
{"Directional",col,{pt1,pt2}}沿着向量形式 pt1pt2 方向的光
{"Point",col,pt}在坐标 pt 的球体状点光源
{"Point",col,pt,att}几何衰减 att 的点光照源
{"Spot",col,pt,Alpha}聚光 pt,半角度 Alpha 瞄准中心
{"Spot",col,{pt,tar},Alpha}聚光 pt,半角度 Alpha 瞄准 tar
{"Spot",col,{pt,tar},{Alpha,s},att}点指数 s 和衰减 att 的聚光
  • 光照坐标和瞄准点可以用下列方式指定:
{x,y,z}图形移动的明确坐标
Scaled[{x,y,z}]图形移动的比例坐标
ImageScaled[{x,y,z}]固定在对应最后显示图形的坐标
  • ImageScaled[{x, y, z}] 中,xy 从 0 变换到 1 ,对应最后显示图形边框的宽度和高度。 z 垂直于显示平面,在三维区域的后面时为 0,在前面时为 1。
  • Lighting->"Neutral" 通常在缺省坐标使用白色光源。  »
  • 对于 Graphics3D 中特定对象,通过给出样式选项设置 Style[obj, Lighting->spec],分别指定光照。  »
  • 在基本图形和指令的列表,可以选择 {..., g, Lighting->spec, g, ...} 形式来定义列表中在光照指定后的对象的光照。  »
  • 最后的三维表面通过从 3 个基本色上增加 RGB 值来确定:
RGBColor 等指令定义的漫反射
Specularity 指令定义的镜面反射
Glow 指令定义的发光
  • Lighting 的设置仅影响漫反射和镜面反射的颜色。
  • 漫反射遵循 Lambert 定律,光线在表面的各个方向相等发散。
  • 镜面反射将光线在接近镜子反射方向发散,如同在 Specularity 中注明的。
  • 光源的颜色可以通过 RGBColorHue 或其它颜色指定来定义。
  • {dcol, Specularity[scol]} 形式指定的光源颜色,在漫反射上用颜色 dcol,在镜面反射上用颜色 scol »
  • {"Directional", col, {pt1, pt2}} 指定的方向光源产生平行模拟的光线,因此仅和 {pt1, pt2} 定义的方向向量相关,而不是它的大小。  »
  • {"Point", col, pt} 指定的点光源实际上产生从点 pt 发出的光,但不随距离而减弱。 »
  • {"Point", col, pt, {a, b, c}} 产生距离为 r、衰减类似 1/c r^2+b r+a 的光照。  »
  • {"Spot", col, {pt, tar}, Alpha} 产生和点光源相同的光照分布,除了它限制在一个方向从 pttar,半角弧度为 alpha 的圆锥体内。  »
  • {"Spot", col, {pt, tar}, {Alpha, s}} 给出从圆锥体中心以 cos^stheta 的衰减方式。  »
  • {"Spot", col, {pt, tar}, {Alpha, s}, {a, b, c}} 给出距离 r 的衰减 1/c r^2+b r+a »
在灰色的镜面反射上的缺省光照:
In[1]:=
Click for copyable input
Out[1]=
 
在灰色的镜面反射上的中性光照:
In[1]:=
Click for copyable input
Out[1]=
 
从镜面顶部的方向光照:
In[1]:=
Click for copyable input
Out[1]=
 
指定每个对象的光照:
In[1]:=
Click for copyable input
Out[1]=
1 的新功能 | 6 中的修改功能