我想知道物质对光是如何工作的。
首先,我有一个光源,例如太阳。太阳有一个像figure1的光谱
当物体被太阳照射时,反射光谱是如何变化的?每个表面都有自己的反射光谱吗?每个光子在哪里“检查”其波长并“决定”反射或吸收?
例如,一个绿色物体会吸收除一小部分绿色带宽以外的所有波长?
让我们做一个小的例子:让我们想象一下,有一个以太阳为照明的射线追踪装置,有几个不同颜色的物体,还有一个物理模拟相机,有3个彩色通道,其中每个彩色通道的带宽很小,为10 do (参见Figure2)。
然后我们可以说,我们改变了太阳光谱,只有10 of带宽的相机通道被存储到3瓦特值。每个物质的反射光谱都是一样的。
每个模拟射线都包含太阳光谱的三个值。如果光线与物体相交,我能用物体的物质反射光谱来缩放这三个值吗?
还是我完全理解错了?
发布于 2022-11-10 20:41:42
当物体被太阳照射时,反射光谱是如何变化的?每个表面都有自己的反射光谱吗?每个光子在哪里“检查”其波长并“决定”反射或吸收?
是的,这或多或少是正确的。但是当处理非常多的光子,撞击很多不同的原子/分子混合成一种物质时,我们观察到,一些分数,或者说百分比,如果你愿意的话,光子会被反射出来。因此,光谱不是由“是”或“否”组成的,而是每个波长的“部分”。这被称为表面的反射光谱。你也可以听到“漫反射率”或“反照率”。
(“漫射”是指反射发生在一个随机的角度,通常是由于材料的粗糙或半透明;它的反面是镜面反射。当物体闪闪发光时,那就是镜面反射。大多数物体都有这两种情况,而镜面反射率可以有与漫射不同的颜色/光谱--通常是白色。
然后,正如你所想的,我们通常只考虑在三个不同的波长/波段,因为这足以再现大部分,但不是所有的影响,人类的视觉可以观察到。关于需要超过3个波段的现象的例子,请参见显色指数,这是一种测量光源的光谱在与被照射物体的反射光谱相互作用后,模拟广谱照明(如阳光)的结果。如果不模拟比RGB更多的频谱成分,就无法模拟这一点。有关更多示例,请参见另一个问题:是否有普通的材料不能很好地代表RGB?
让我们想象一下,有一个以太阳为照明的射线追踪装置,几个不同颜色的物体,以及一个物理模拟相机,有3个彩色通道,其中每个彩色通道的带宽很小,为10 of (见Figure2)。
使用RGB近似计算通常不考虑波长波段--我们只为R、G和B 初等选择3个精确的波长,用这些初级光谱的混合表示所有其他颜色,这与(典型的)人眼看到的更复杂的光谱是完全相同的。
任何这类原色的选择都将限制可以表示的颜色的色域 --一些高度饱和的颜色将被排除在外,除非允许颜色分量变为负值,以表示最极端的单色(或紫色)颜色。这通常是一个可以接受的限制,因为RGB显示器在物理上仅限于根据LED发射器、LCD彩色过滤器或CRT荧光粉的颜色发射特定波长。
(请注意,在印刷图形中,情况更为复杂,因为不是只发射R+G+B光的显示设备,而是根据所使用的颜料/染料产生一个具有自身反射光谱的物体。这就是为什么使用4组分的“CMYK”颜色-这是一个更好的匹配实际行为的颜料。在某些情况下,可以使用“斑点色”,识别特定的颜料在某个区域放置,以产生精确的颜色或特殊效果,如光泽。)
如果光线与物体相交,我能用物体的物质反射光谱来缩放这三个值吗?
是的,你应该把入射光的每个波长/颜色分量乘以物体的反射率。带宽不需要显式建模--如果改变带宽会产生任何不同,那么它就相当于改变主服务器的选择,即在不同的色彩空间中工作。您总是可以用一点算术将颜色从一个RGB颜色空间转换为另一个颜色空间(当两者都在色域中时)。
同样,当您在RGB中工作时,我上面所说的一切都是正确的。这确实有局限性;如果您想要精确地模拟单色灯或彩色滤光片的效果,则需要使用比RGB更多的颜色通道。你使用的通道越多,你对真实物理中连续光谱的离散近似就越好。然而,在渲染中很少这样做--你在生活中所见过的大多数计算机图形很可能只是使用RGB计算出来的。
https://computergraphics.stackexchange.com/questions/13095
复制相似问题