PointLight

PointLight[col,pt]

是一个三维图形指令,它指定位置 pt 处颜色为 col 的点光源,用于对 3D 曲面着色.

PointLight[col,pt,att]

使用具有几何衰减 att 的点光源.

更多信息

  • PointLight 亦称为球面点光源.
  • PointLight 通常用于将在所有方向上均匀散布的光线投射到物体上来照亮物体的特定部位.
  • PointLight[col,pt] 产生从点 pt 发出但不随距离衰减的光.
  • 光源 col 的颜色可以由 RGBColorHue 或任何其他颜色规范定义.
  • PointLight 的设置只影响与 3D 曲面上的漫反射和镜面反射相关的颜色.
  • 颜色指定形式为 {dcol,Specularity[scol]} 的光源在漫反射情况下实际上被视为颜色是 dcol 的光源,而在镜面反射情况下则被视为颜色是 scol 的光源.
  • 漫反射遵循朗伯定律,光实际上从曲面的各个方向均匀散射.
  • 镜面反射实际上认为光只在接近镜面反射的方向上散射,如 Specularity 的注释中所述.
  • 可用以下方式指定光源位置 pt
  • {x,y,z}随图形移动的显式坐标
    Scaled[{x,y,z}]随图形移动的缩放坐标
    ImageScaled[{x,y,z}]相对于最终显示的图像固定的坐标
  • ImageScaled[{x,y,z}] 中,在最终显示图像的边界框的宽度和高度上, 从 0 到 1. 坐标垂直于显示的平面,在 3D 区域的后面为 0,前面为 1.
  • ScaledImageScaled 中指定的坐标通常不在 0 和 1 之间.
  • PointLight[col,pt,{a,b,c}] 给出随距离 衰减的光.

范例

打开所有单元关闭所有单元

基本范例  (3)

照在曲面上的点光源:

设置绘图中曲面的样式:

从镜面曲面顶部照射的点光源:

范围  (7)

照明规范  (4)

用颜色和位置指定球面点光源:

不同颜色的点光源:

不同位置的点光源:

照射到镜面曲面上的点光源:

光源的位置  (2)

默认情况下,在图形坐标系中指定光源的位置:

当视点改变时,光源随图形移动:

通过 Scaled 按图形坐标的比例指定光源的位置:

当视点改变时,光源随图形移动:

光的衰减  (1)

默认情况下,点光源不受与物体距离的影响:

指定一个随距离衰减的点光源:

指定一个随距离的平方衰减的点光源:

推广和延伸  (2)

指定每个物体的照明:

指定图形的照明:

应用  (3)

在平面上设置四个白色球体:

点光源:

拐角处的不同照明设置:

构建具有多个物体和光源的场景:

用动画显示聚光灯:

属性和关系  (6)

曲面颜色和光照相互作用:

漫反射物体和照明颜色可以互换并产生相同的效果:

镜面反射物体和照明颜色可以互换并产生相同的效果:

镜面反射给出像镜子一样的反射:

最终的颜色是所有表面颜色和光照的线性组合:

点光源发出从该位置照向所有方向的光线:

可能存在的问题  (2)

默认的照明方案使用多种彩色光源:

Lighting 设为 None 关闭默认照明:

平面可能显示很少的反射或没有反射:

巧妙范例  (1)

简单的灯光秀:

Wolfram Research (2021),PointLight,Wolfram 语言函数,https://reference.wolfram.com/language/ref/PointLight.html.

文本

Wolfram Research (2021),PointLight,Wolfram 语言函数,https://reference.wolfram.com/language/ref/PointLight.html.

CMS

Wolfram 语言. 2021. "PointLight." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/PointLight.html.

APA

Wolfram 语言. (2021). PointLight. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/PointLight.html 年

BibTeX

@misc{reference.wolfram_2024_pointlight, author="Wolfram Research", title="{PointLight}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/PointLight.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_pointlight, organization={Wolfram Research}, title={PointLight}, year={2021}, url={https://reference.wolfram.com/language/ref/PointLight.html}, note=[Accessed: 21-November-2024 ]}