图形学中的几何光学理论与视觉现象

光线是从光源发射(emitted)通过介质往特定方向传播的电磁波

光源类型主要有3种:平行光(如太阳)、点光源(如灯泡)和聚光灯

几何光学en)是利用几何学研究光学的学术方法,用来解释现实中的视觉现象(Visual appearance

注:光的干涉和衍射不是几何光学研究的范畴,需要使用波动光学理论来研究

几何光学理论

在均匀介质中,光是沿直线传播的,且速度是恒定的

v = λ * f

注1:v为速度   λ为波长  f为频率

注2:真空中不同频率的光的速度都是c。频率高的光,波长就短;频率低的光,波长就长   -- 如:紫光、红光

注3:频率是源的振动决定的。因此,单一色光在不同介质中频率是不变

注4:人眼感应光的颜色是由光子能量决定的,E=hν,能量由频率决定,蓝光能量大红光相对小,频率决定人眼对光颜色的感知

颜色是视网膜对不同频率光子的感觉。不同频率的光子大小和自转速度不同(频率低个大转速低,频率高个小转速高),打到视网膜上的感觉也就不同,就会感觉到不同颜色

三原色光子混合会让视网膜感觉到平均光子大小,便是混合成另一种颜色的感觉

注5:光是直射的,因此会产生影子

光的反射定律

反射角等于入射角

光的折射定律  又称为“斯涅尔定律”(Snell‘s law

光在真空中的速度 c(约等于3.00×108 m/s)与在透明介质中的速度 v 之比,称之为该介质的绝对折射率,简称折射率(≥1)

折射率决定了进入介质时光的路径弯曲或折射的程度

注:λ 0 为光在真空中的波长,λ 为光在介质中的波长

光在真空中的折射率等于 1,通常我们认为光在空气中的折射率也近视为1

水的折射率:1.333   // 表示光在真空中的传播速度(波长)是在水中传播速度(波长)的1.333倍
玻璃的折射率:1.5~1.7
水晶的折射率:2.0
钻石的折射率:2.4

除了与介质有关外,折射率还与光的频率有关;频率高的光,折射率大,能形成更大的偏折角度

折射率还决定了反射的光量到达界面时,以及全反射和布儒斯特角Brewster‘s angle)的临界角

视觉现象

色散

光的色散dispersion of light):在相同介质中,不同的频率的光,因为行进速度不同,造成在折射过程中偏折角度不同

牛顿在1666年最先利用三棱镜观察到光的色散,把太阳光分解为彩色光带(光谱)

彩虹是由于下雨以后,天上悬浮着很多极小的水滴,太阳光沿着一定角度射入,这些小水滴就发生了色散

 

全反射

全反射,又称全内反射(total internal reflection)是一种光学现象。当光线经过两个不同折射率的介质时,部分的光线会于介质的界面被折射,其余的则被反射

但是,在当光线从光密介质(较高折射率的介质)进入到光疏介质(较低折射率的介质),入射角比临界角大时(光线远离法线),光线会停止进入另一界面(折射光线消失),反之会全部向内面反射

全反射的临界角为:

例如当光线从玻璃进入空气时会发生,但当光线从空气进入玻璃则不会。光导纤维、海市蜃楼、沸腾的水中气泡显得十分明亮、水中观察绿海龟在出水面形成镜面反射,都是因为发生了全内反射

光与所有物质作用只存在两种现象:散射(scattering)和吸收(absorption)

散射(scattering):光线通过不均匀介质时(如物体表面、有尘土的空气、含有杂质的半透明物等)出现的现象;散射不会改变光量,它只是使其改变方向

光的散射一般又分为反射(reflection)和折射(refraction)

吸收(absorption)发生在物质内部,其会导致某些波长的光转变成另一种能量(如热能)并消失;吸收会减少光量,但不会影响其方向

当我们看到“某个物体是红色”,实际上是因为它反射了更多的红光波长,而吸收了其他波长

镜面反射(specular reflection):在物体表面上的反射  特点:反射出来的光集中在某个方向上;物体微平面越光滑,方向越集中,高光区域越小,高光越亮

漫反射diffuse reflection):经历折射->吸收->重新从入射点,沿着各个方向散射出物体表面    特点:反射出来的光均匀地分散在表面法线指向的半球区域内,没有方向性

在现实世界中,物体都会有这两种反射。物体微平面越光滑,镜面反射越强,漫反射越弱;相反,微平面越粗糙,镜面反射越弱,漫反射越强

在微观尺度上,即小于一个像素但是大于光波长的尺寸,物体表面并不是绝对光滑的,这时虽然在单个光束与表面交互上可以看作该面是光滑的,但是在一个像素尺寸上,它确是不光滑的

物体的微平面(Microfacet)的光滑程度可以用粗糙度来衡量;物体有大体分为非金属和金属两大类,其中金属会立即吸收所有折射的光线,而不同透明度和材质特性的非金属,反射、吸收、折射等会有很大差异,从而呈现丰富多样的外观

次表面散射SubSurface Scattering,简称SSS):经历折射->吸收->重新从入射点为中心的圆的区域,沿着各个方向重新散射出物体表面

对于不透明物体,由于重新散射出来的区域非常小,我们一般使用漫反射光模型来简化

但对于一些半透明物体,如:皮肤、玉、蜡、大理石、牛奶等,则需用次表面散射模型来渲染;次表面散射会让模型看起来更亮,更有通透感

注:红色区域表示一个像素的大小,当出射光集中分布在红色区域内时,则认为次表面散射效果可忽略,用漫反射简化处理即可

当出射光线较为均匀地分布在绿色区域内时,则需要单独考虑次表面散射效果

透射(transmittance):对于比较薄的半透明物体,一些光线经历折射->吸收->从物体另外一面散射出物体表面    特点:反射出来的光均匀地分散在另外一面法线指向的半球区域内,没有方向性

参与介质(Participating Media)

如云、烟、雾、霾等在自然界中普遍存在的,它们导致了很多有趣的视觉现象。

当光在这些参与介质中传播时,部分被吸收,其他则经过多次散射从不同的位置离开表面。

参与介质整个内部都是半透明的,光线能够从一边进入,然后从另外一边离开。

参与介质能够有效地增强环境的氛围,以及对场景深度的感知。

焦散caustics

光经过弯曲的表面反射或折射后,多束光落在同一个点上,导致这些点的光照特别明亮

  

光泽反射glossy refection)

物体的微平面越光滑,反射光线的方向范围就越集中,高光区域就越亮,将周围环境映射到模型表面就显得越清晰

菲涅尔反射Fresnel Reflectance

当光由一种介质进入另一种不同的介质,在光滑的表面发生反射和折射时,入射光被反射和折射的比率分别应该是多少呢?

菲涅尔公式(Fresnel Equation)反映出光线的反射比率与入射角和介质的折射率有关

在真实世界中,非金属均有不同程度的菲涅尔反射效果:对于大部分入射方向其反射率仅为4%左右,而当几乎水平于表面方向(即入射角为90度)时,它的反射率几乎为100%

注1:光线入射角越小,入射光线越垂直于物体表面

注2:虚线部分表示偏振效应,在电磁学中一个矢量场可以分解为平行于入射面分量P和垂直于入射面分量S。

其中对于平行于入射面分量P,它当入射角接近57度时,所有的反射光完全被偏振,此时反射光线和折射光线相互垂直,这也叫做起偏角或者布儒斯特角(Brewster‘s angle)。这就是为什么太阳镜可以减少接近水平方向非金属的反射强光

各向异性高光(Anisotropic Specular Highlights)

由于物体微平面上有着朝着某些方向的小凹槽(凸起,纤维或划痕),使得这些方向上高光反射与其他方向存在明显不同。

任何具有细粒度的东西都主要在一个方向上。如头发,锅碗瓢盆,拉丝金属等

颜色渗透Color Bleeding

漫反射光从物体内部反射出来后,会携带这个物体的颜色,从而使靠近该物体周围的物品染上其颜色。

这种经过一次或多次反射或折射形成的环境光对于Diffuse表面的影响非常重要,如靠近红色墙壁长方体的那个面呈现一些红色

这种效果并不是直接来自光源,而是环境,是一种间接光照

半透明(translucent)

光线依次穿过多个半透明的物体后,会按照三原色叠加规律来呈现最后的颜色

阴影(Shadow)

阴影对于人眼对3D场景的立体感非常重要

由于光源有一定的面积,整个阴影区域并不是完全漆黑的(即硬阴影,Hard Shadow),而是在边缘的地方有一个明暗过渡(软阴影,Soft Shadow)

软阴影有三部分组成:完全遮挡的本影区(Fully Dark)、部分光照被遮挡的半影区(Penumbra)和完全没有被遮挡的光照区(Fully lit)

如果物体自己挡住了自己,则会形成自阴影

环境光遮罩(AO,Ambient Occlusion)

角落、缝隙等地方容易被物体自身或周围的物体遮挡住光线,会显得更暗一些,从而表现出较强的立体感和明暗对比度

参考

全局光照技术

Real-Time Rendering 3rd

UE3材质 & 贴图

UE4基于物理的材质

原文地址:https://www.cnblogs.com/kekec/p/11042472.html

时间: 2024-10-18 09:58:07

图形学中的几何光学理论与视觉现象的相关文章

图形学中的贴图采样、走样与反走样等

计算机图形学中不可避免的会涉及到图像分析与处理的相关知识,前些时间也重温了下常用到的采样.重建以及纹理贴图等内容,并对其中的走样与反走样有了更多的认识,这里小结一下. 1. 基本问题 信号的采样与重建过程中首先面临着两个基本的问题: 给定一个连续的信号g(x)以及它的离散采样信号gs(x),能否通过gs(x)来完整的描述g(x) 的信息: 如果可以,如何通过gs(x)来重建出原始信号g(x). 这些通过对信息进行频域的分析即可得到相应的结论. 2. 采样 将一处于空间域(或时域)内的信号向频域进

计算机视觉和图形学中的摄像机内参数矩阵详解【转】

计算机视觉和图形学中的摄像机内参数矩阵详解[转] 在计算机视觉和图形学中都有“摄像机内参数矩阵”这个概念,其含义大致相同,但在实际使用过程中,这两个矩阵却相差甚远.在增强现实中,为了使计算机绘制的虚拟物体和真实环境图像对其,需要令虚拟摄像机的内参数和真实摄像机的内参数相一致.因此,理解这两个内参数矩阵的详细含义和算法很重要. 在计算机视觉中,摄像机内参数矩阵可以表示为: 其中 f 为摄像机的焦距,单位一般是mm,dx,dy 为像元尺寸,u0,v0 为图像中心.由此可以计算出摄像机纵向视场角有:

计算机图形学中的种子填充算法c++程序实现

种子填充其实很简单,计算机图形学中介绍的使用栈,感觉作者是不是脑子进水了,直接使用一个队列用广搜就可以了啊,但是我就懒得写了,直接一个递归算了,有兴趣的同学自己试一试 #include<graphics.h>#include<conio.h>  #include<stdio.h>#include<math.h>int Graph[500][500] ; void scanline_seed_fill(int color,int sx,int sy){ Gra

计算机图形学中的经常使用模型

今天在网上搜了一下图形学里面比較经常使用的模型.认为挺有意思,把它们收集起来,总结一下. 1.Lena/Lenna 这个模型是一个美女,名字叫Lena,是1972年11月<Playboy>(国内译为:花花公子)杂志的一个插图. 不知道花花公子杂志为何物的请自己去百度. Lena是瑞典人.依据英语标准发音,译为Lenna. 以下来张截图: 花花公子中的原图:http://www.ee.cityu.edu.hk/~lmpo/lenna/len_full.jpg 1973年6月.美国南加州大学的信号

iOS 中plist文件中配置key值冲突的现象

iOS开发一些特殊的软件需要在项目中配置对应的key值,然而近期在项目中发现一个有意思的现象,苹果官方文档中提供的key值很多,但其实有一些彼此可能有冲突,当你同时配置了彼此冲突的key值,可能会出现一些奇葩的现象,而且不容易发现问题所在,下面我就我遇到的情况和大家分享一下: 因为项目需要,需要配置定位相关的key值,同时需要后台长时间运行,所以在应用中我配置了NSLocationWhenInUseUsageDescription这个定位的key值,为了在使用时获取用户的位置信息:同时我用申请了

计算机图形学中的常用模型

今天在网上搜了一下图形学里面比较常用的模型,觉得挺有意思,把它们收集起来,总结一下. 1.Lena/Lenna 这个模型是一个美女,名字叫Lena,是1972年11月<Playboy>(国内译为:花花公子)杂志的一个插图.不知道花花公子杂志为何物的请自己去百度. Lena是瑞典人,根据英语标准发音,译为Lenna.下面来张截图: 花花公子中的原图:http://www.ee.cityu.edu.hk/~lmpo/lenna/len_full.jpg 1973年6月,美国南加州大学的信号图像处理

转载:分布式领域中的CAP理论

文章内容来源于网络. CAP理论,指的是一个分布式系统无法同时满足Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性).目前最流行的对CAP理论解释的情形是从数据在网络环境中存在多个副本出发的. Consistency(一致性)是指分布式系统中的所有节点的数据是否一致,可以分为强一致性和弱一致性,弱一致性中最为常用的是最终一致性.强一致性指的是任何时刻各个节点的数据总是一致的.最终一致性是一致性中较弱的一种,同一时刻各个节点

数学之美--计算机图形学中的数学方法论

我的github: https://github.com/jackyblf 我的公众号: 早期研究3D程序开发的程序员最大的情怀就是从无到有,自己实现一个游戏引擎.当时的我也是充满着这种复古情怀!! 以前的demo大部分都用c++写的,现在尽力全部改成html5+canvas/webgl版本 正在改写demo,编写文章,敬请期待 09年台式机out of order了,一直到去年年底,买了个硬盘数据线,把以前的代码全部拷贝出来了,万幸没损坏!!! 08年的vs2005代码,在vs2015中,竟然

3D游戏与计算机图形学中的数学方法-点线面

<易传·系辞上传>:”易有太极,是生两仪,两仪生四象,四象生八卦.” 借用一下古代先人们的智慧引一下本文的主题-三维图形中的点线面,在三维几何中也有一句话可以和上面的话相对应:由点成线,由线成面,由面成体,由体成形. 点向量和方向向量 首先我们要明确在三维空间中表示点的点向量和表示方向的方向向量的区别,例如A(x,y,z)可以表示一个点向量,而OA(x,y,z)就表示一个方向向量.方向向量在平移过程中将保持不变. 3D空间中的直线 3维空间中有两个点P1和P2,那么通过这两个点的直线可以定义为