zoukankan      html  css  js  c++  java
  • 计算机图形学——颜色和简单的照明模型

    一、颜色

    颜色是可见光的一种视觉特性。可见光(电磁能)经过与周围环境相互作用后到达人眼,并经一系列物理和化学作用转化为人眼所能感知的电脉冲,让人眼感觉到了颜色。

    所以,颜色的形成是一个复杂的物理和心理相互作用的过程,它涉及光的传播特性,人眼的结构及人脑心理感知等内容。

    1、颜色的特性

    颜色其他影响因素

    1)人的视觉系统
    颜色是主观的,依赖于观察者的。

    光效率函数:它表示人眼感受各种波长的光的敏感度。反映了不同波长的光刺激人眼产生亮度的效率。人眼对绿色最敏感、红色次之、蓝色最弱--所以RGB常作为三基色。


    在明亮条件下,人的眼睛最敏感的光的波长约为555nm,即黄绿光。
    在暗视觉条件下,人眼对波长为510nm蓝绿色的光最敏感。

    2)心理因素

    色彩对比效应 :如果两种颜色的光混合后为白光,则这两种颜色互为补色。当观察相邻区域的不同颜色时,视觉系统感知的颜色会发生变化。

     
    明度对比效应 :当在相邻区域观察明显不同的两种颜色时,视觉系统感知的亮度(即明度)会发生偏移。

    中间的灰色是一个颜色吗?

    同样的物体放在暗背景里看起来亮,放在亮背景里看起来暗,这种现象称为马赫带效应


    颜色适应效应 :人眼受到颜色的强刺激作用,会使感受到的颜色的明度和饱和度产生变化。

    盯着这块红色幕布一会,再去看白色的墙会发生什么呢?

    在黑暗中呆的时间长了,其感受性就发生了变化,这是一种适应现象。如注视一块红色半分钟,再注视灰色背景。色觉就发生变化,这就是一种颜色适应。

    二、光源与材质

     

     

    在处理光照时采用这样一种近似,把光照系统分为三部分:光源、材质和光照环境

    光源就是光的来源。可以是前面所说的太阳或者电灯等。

    材质是指接受光照的各种物体的表面。由于物体如何反射光线只由物体表面决定(OpenGL中没有考虑光的折射),材质特点就决定了物体反射光线的特点。

    光照环境是指一些额外的参数,它们将影响最终的光照画面。
    比如:一些光线经过多次反射后,已经无法分清它究竟是由哪个光源发出,这时,指定一个“环境亮度”参数,可以使最后形成的画面更接近于真实情况。

    1、光源

    光源称为发光体,所有可以发出辐射光能的物体统称为光源,如日光灯和太阳等。
    反射表面(如房屋的墙壁)则称为反射光源

    通常在一个不透明且不发光的物体表面所观察到的光线是其反射光,它由光源与其他物体表面的反射光所共同产生。

     

     2、材质

    材质是真实感图形生成中重要的一个方面。物体所呈现出的颜色在很大程度上取决于物体表面的材质。在现实世界中,材质本身有属于自己的颜色。材质的颜色是由它所反射的光的波长决定的
    物体表面的材质类型决定了反射光线的强弱。表面光滑较亮的材质将反射较多的入射光,而较暗的表面则吸收较多的入射光。

    如果光线被投射至一个不透明的物体表面,则部分光线被反射,部分被吸收。
    同样对于一个半透明物体的表面,部分入射光会被反射,而另一部分则被折射。

    白光照射不透明物体表面,物体表面呈蓝色:原因-—其余颜色的光全部被吸收了,只有蓝色的光才能被物体反射进入人眼。
    红色的光照射该物体,该物体将呈现?黑色

    三、简单光照明模型

    假设物体不透明,那么物体表面呈现的颜色仅由其反射光决定。讨论不包含透射光的简单光照明模型。该模型为计算物体表面某点处的光强度提供了简单有效的途径,并在许多应用场合获得了较好的效果。该模型构建在下列假设之上:
    白光照射———各波长光比例相同
    仅考虑光源直接照射在景物表面所产生的光照效果
    景物表面通常被假定为不透明,且具有均匀反射率
    优点:能表现由光源直接照射在漫反射表面上形成的连续明暗色调、镜面上的高光以及由于景物互相遮挡而形成的阴影等。

    由假设知物体不透明物体表面呈现的颜色仅由其反射光决定。

    反射光组成:
    环境反射
    环境反射假定入射光均匀地从周围环境入射至景物表面并等量地向各个方向反射出去
    漫反射与镜面反射
    漫反射分量和镜面反射分量则表示特定光源照射在景物表面上产生的反射光
    要计算某一点的光亮度,就要分别求出这三个分量。

    1、环境反射光

    环境反射光由环境光在邻近物体上经过多次反射所产生的。光是来自四面八方的,例如从墙壁,地板及天花板等反射回来的光,可以看作是一种分布式光源。
    特点:照射在物体上的光来自周围各个方向,又均匀地向各个方向反射。
    这种光产生的效应简化为:它在各个方向都有均匀的光强度Ie ,即某一个可见物体在仅有环境光照明的条件下,其上各点明暗程度完全一样。

     2、漫反射光

           一个比较粗糙的,无光泽的物体表面对光的反射表现为漫反射.漫反射分量表示特定点光源在景物表面某一点的反射光中那些向空间各方向均匀反射出去的光.这种表面对入射光在各个方向上都有强度相同的反射,因而无论从哪个角度观察,这一点的光亮度都是相同的。
    郎伯(Lambert)余弦定律:对于一个漫反射体,表面的反射光亮度和光源入射角(入射光线和表面法向量的夹角)的余弦成正比,即

     

    3、镜面反射

    镜面反射光为朝一定方向的反射光

    根据光的反射定律,反射光和入射光对称地分布于表面法向的两侧。

     

     四、光滑明暗处理技术

    在绘制真实感图形时,为了提高算法的效率,我们常使用一些多边形来近似的模拟光滑的物体表面。

    使用通常的多边形扫描线算法来绘制这种近似表示的物体,则生成的图形将失去原有曲面的光滑性,而呈现多面体状。

    不同平面片之间存在不连续的法向量,导致由多个平面片表示的物体表面光亮度呈现不连续跃变

     为了解决这个问题,人们提出了各种不同的简便算法。Gouraud明暗处理技术和Phong明暗处理技术是其中最具代表性的两种方法,下面分别介绍这些方法。

    1、Gouraud明暗处理技术

     只在多边形顶点处按(Phong模型)准确计算光亮度,而对于多边形内各点用顶点的光亮度线性插值算出。

    右上图中某个四边形的四个顶点处的法向量相等,则会导致四个顶点处的光亮度相等,采用Gouraud明暗处理技术将使多边形面片内各点光亮度取常数,这显然是不正确的。对这种情况的处理方式是把多边形面片分割成更细小的多边形。由于这些多边形起到了过渡作用,因而避免了错误。

     

    2、Phong明暗处理技术

     

     

     

  • 相关阅读:
    HTTP 缓存图解
    http协议构成整理
    HTTP2.0
    Event Loop
    斐波那契数列
    归并排序
    快速排序
    史上最全前端资源
    Js 将 Date 转化为指定格式的String
    vue-cli webpack全局引入jquery
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/12109598.html
Copyright © 2011-2022 走看看