Ayy*_*ppa 5 graphics visualization computer-vision
为什么镜面反射光会呈鲜艳的颜色(通常是白色),而物体的其他部分则反射出感知的颜色波长?
从物理角度来看,这是因为:
假设你有一块表面光滑的红色塑料.塑料是红色的,因为它含有红色染料或颜料.进入塑料的入射光如果是红色则会反射,如果不是则会被吸收; 这种红光在塑料内部反弹并使其在一个或多或少的随机方向上退回(这就是为什么这个部件被称为"漫射").
另一方面,一些入射光从未进入塑料开始:它反而从表面反弹.因为塑料的表面是光滑的,所以它的方向不是随机的:它在基于镜面反射角的方向上反射(这就是为什么它被称为"镜面反射").由于它从未击中塑料中的任何着色剂,因此其颜色不会像漫射成分那样通过选择性吸收而改变; 这就是镜面反射通常是白色的原因.
我应该补充一点,上面是现实的高度简化版本:有很多案例没有被这两种可能性所涵盖.然而,它们足够普遍并且通常适用于计算机图形工作:漫反射+镜面反射模型可以为许多表面提供良好的可见近似,特别是当与其他廉价近似(如凹凸贴图等)结合使用时.
编辑:响应Ayappa评论的参考 - 通常引起镜面反射高光的机制称为菲涅耳反射.这是一种经典现象,仅取决于材料的折射率.
如果材料的表面是光学上光滑的(例如,高质量的玻璃窗),菲涅耳反射将产生真正的镜像图像.如果材料只是部分光滑(如半光漆),你会得到一个镜面高光,根据它在微观层面的平滑程度,它可能是窄的或宽的.如果材料是完全粗糙的(无论是在微观水平还是在某个较大尺度上,小于图像分辨率),菲涅耳反射就会有效地扩散,并且不能轻易地与其他形式的漫反射区分开来.