颜色模型
颜色的特性:色调,饱和度,量度。
光的波长范围:380nm --- 780nm
RGB模型
红绿蓝是加性原色,各个原色混合在一起可以产生复合色
CMY模型
用红绿蓝的补色,青,品红,黄为原色构成。为碱性原色系统。常用于从白光中过滤某种颜色。用于印刷硬拷贝设备。
光照模型
在计算机图形学中为表述自然光照现象,需要根据光学物理的有关定律建立一个数学模型去计算景物表面上任意一点投向观察者眼中的光亮度的大小。
光照模型的影响因素: 物体的类型,物体相对于光源与其他物体的位置以及场景中所设置的光源属性,物体的透明体,物体的表面光亮程度,表面纹理,还有各种光源信息。
漫反射,环境光,镜面反射
简单光反射模型
入射光 = 漫反射光 + 镜面反射光 + 环境光
环境光
是指光源间接对物体的影响,是在物体和环境之间多次反射,最终达到平衡时的一种光。
光强分布均匀,在任何一个方向上的分布都相同。
Ie=Ia·Ka
Ia :环境光强度 Ka:物体表面对环境光的反射系数
漫反射光
光照射到粗糙无光泽表面的光现象。光线来源于一个方向,向各个方向反射。
Id =Ip·Kd ·cosθ 0≤θ≤π/2
Ip:入射光强度,
Kd:入射光的漫反射系数,范围: 0< Kd<1
漫反射光.PNG
镜面反射光
有光泽的表面上能看到很强的高光,这个现象称为镜面反射。
Phong经验模型计算公式:Is =Ip·Ks ·cosa^n 0<a<π/2
Is:为镜面反射光在观察方向上的光强度;
Ip:为点光源的强度; Ks:为镜面反射系数;
a:为视点方向V与镜面反射方向R之间的夹角;
n:与物体表面光滑度有关的一个常数,
一般取为1~2000。表面↑,n↑。
表面越光滑,光强越小。因为表面光滑时光几乎全部集中在反射方向上了。
Phong光照模型:由物体表面上一点P反射到视点的光强I为环境光强Ie,理想漫反射光强Id和镜面反射光Is的总和。
光线追踪模型
整体光照模型:
为了精确模拟光照效果,要考虑四种情况:镜面反射到镜面反射,镜面反射到漫反射,漫反射到镜面反射,漫反射到漫反射。投射可分为漫透射和规则投射。
Whitted光线追踪算法中采用了整体光照模型。
在简单光照模型的基础上加上了透射光一项。
![whitted.PNG](http://upload-images.jianshu.io/upload_images
/7110122-81d6ef054b9a2043.PNG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
It为折射方向的入射光强度;Kt'为透射系数,为0~1之间的一个常数;其大小取决于物体的材料。
若透明体又是一个镜面反射体,应再加上反射光一项,以模拟镜面反射效果。
whitted2.PNG
Is为镜面反射方向的入射光强度;Ks'为镜面反射系数,为0~1之间的一个常数,其大小同样取决于物体的材料。
计算反射方向和折射方向.PNG
光线跟踪算法
从视点出发,通过图像平面上每个像素中心向场景发出一条光线,光线的起点为视点,方向为像素中心和视点连线的单位向量。光线离视点最近的场景物体表面交点有三种可能。
- 当前交点所在的物体表面为理想漫射面,跟踪结束
- 当前交点所在的物体表面为理想镜面,光线沿其镜面反射方向继续跟踪。
- 当前交点所在的物体表面为规则投射面,光线沿其投射光想继续跟踪。
终止条件:1)光线未碰到任何物体 2)光线碰到了背景
3)光线经过许多次反射和折射后,光线对视点的光强小于某个设定值 4)光线反射或折射次数即跟踪深度大于一定的值
RayTracing (start, direction, weight, color) {
if ( weight < MinWeight )
color = black;
else {
计算光线与所有物体的交点中离start最近的点;
if ( 没有交点 )
color = black;
else {
local = 在交点处用局部光照模型计算出的光强;
计算反射方向 R;
RayTracing(最近的交点, R, weight*Wr, Ir);
计算折射方向 T;
RayTracing(最近的交点, T, weight*Wt, It);
color = Local + KsIr+ KtIt;
}
}
}
纹理映射技术
纹理:物体表面的各种细小结构和图案花纹
分类:二维&&三维,颜色纹理&&几何纹理&&过程纹理
图像纹理:将二维纹理图案映射到三维物体表面,绘制物体表面上一点时,采用相应的纹理图案中相应点的颜色值
函数纹理:用数学函数定义简单的二维纹理图案,如方格地毯,或用数学函数定义随机高度场,生成表面粗糙纹理即几何纹理。
纹理映射就是将在纹理空间中uv平面上预先定义的二维纹理(图像、图形、函数等)映射到景物空间的三维物体表面,再进一步映射到图像空间的二维图像平面上,一般将两个映射合并为一个映射。
颜色纹理映射要达到的目的是使绘制出来的物体表面具有花纹图案效果。它的基本思想是:
①给出期望在物体表面出现的花纹图案样式,可以用纹理函数来表示。纹理函数的定义域称为纹理定义域,纹理函数值一般可以理解为亮度值,可以转换为RGB表示的颜色值。
②建立物体表面的定义域与纹理函数的定义域之间的映射关系(即映射函数)。这种对应关系一旦建立,物体表面任何一点的花纹图案属性都可以通过纹理定义域中相应点的纹理由数值获得。
③在绘制物体表面可见点时,通过前面定义的对应关系可以获得该可见点处代表花纹图案属性的相应纹理函数值,适当地使用该纹理函数值就可以便最终绘制出来的物体表面具有花纹图案的效果。
先对物体表面进行参数化,反求出物体表面的参数后,就可以根据(U,V)得到该出的纹理值,并用此代替光照模型中的相应项。
网友评论