为什么镜面反射光会呈现明亮的颜色(通常是白色),而物体的其他部分会反射感知到的颜色波长?
最佳答案
从物理角度来看,这是因为:
假设您有一块表面光滑的红色塑料。塑料是红色的,因为它含有红色染料或颜料。进入塑料的入射光,如果是红色,往往会被反射,如果不是,则被吸收;这种红光在塑料内部反弹,并使其在或多或少随机的方向上返回(这就是该组件被称为“漫射”的原因)。
另一方面,一些入射光从一开始就没有进入塑料:它会从表面反弹。因为塑料的表面是光滑的,所以它的方向不是随机的:它在基于镜面反射角的方向上反射(这就是为什么它被称为“镜面反射”)。由于它永远不会碰到塑料中的任何着色剂,因此它的颜色不会像漫射成分一样因选择性吸收而改变;这就是为什么镜面反射通常是白色的。
我应该补充一点,以上是现实的高度简化版本:有很多情况没有被这两种可能性所涵盖。然而,它们对于计算机图形工作来说足够普遍并且普遍适用:漫反射+镜面反射模型可以为许多表面提供良好的可见近似,尤其是与其他廉价近似(如凹凸贴图等)结合使用时。
编辑:回应 Ayappa 评论的引用资料——通常会产生镜面高光的机制称为 Fresnel reflection .这是一种经典现象,仅取决于 Material 的折射率。
如果 Material 的表面在光学上是光滑的(例如,高质量的玻璃窗),菲涅耳反射将产生真正的镜面图像。如果 Material 只是部分光滑(如半光漆),您将获得镜面高光,根据微观层面的光滑程度,该高光可能窄或宽。如果 Material 完全粗糙(在微观层面或在比图像分辨率小的更大尺度上),那么菲涅耳反射就会变成有效的漫反射,并且不容易与其他形式的漫反射区分开来。
关于graphics - 关于镜面反射行为的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7588769/