实验七 OpenGL光照效果

实验七 OpenGL光照效果
实验七 OpenGL光照效果

1.实验七OpenGL光照效果(选做)

1.实验七:OpenGL光照效果。

2.实验目的:通过上机编程,熟悉并掌握OpenGL中光照效果的制造方法。

3.实验要求:

(1)先做实验项目:实验六“OpenGL组合图形”。

(2)每人一组,独立完成。

(3)利用OpenGL提供的颜色、光源、材质设置,对实验六“OpenGL组合图形”

中自己设计的物体设置绘制颜色和材质参数,并在场景中添加光源,形成一

定的光照明暗效果。

4.实验原理及内容:

在现实世界中,光线和物体的材质共同决定了物体在人眼中的效果。OpenGL 中则涉及到绘制颜色、物体的材质参数、场景中的光源颜色和位置,以此达到一定

的真实感光照效果。

(1)颜色:

OpenGL通过指定红、绿、蓝(RGB)三个成分的各自亮度来确定颜色,有时还有第四个成分alpha:glColor*(red, green, blue[, alpha]);

glColor()函数设置当前的绘图颜色,red、green和blue分别为红、绿、蓝的亮度,alpha为透明度,取值均为0.0~1.0。在该函数之后绘制的所有物体都将使用该

颜色。

(2)光线:

OpenGL的光照模型中将光源分成四种:

发射光:一个物体本身就是一个发光源,如太阳、电灯等,这种光不受其它任何光源的影响。

环境光:从光源出发后光线被环境多次反射,以致没有明确的方向,或者说来自于所有的方向。被环境光照射的物体,各个表面都均等受光。

散射光:来自于某个方向,被物体表面均匀地反射,例如荧光照明、窗口射入的阳光等。

镜面光:来自于一个方向,被物体强烈地反射到另一个特定的方向。高亮

度的镜面光往往能在被照射的物体表面产生亮斑,如金属球上的高光区。

对于散射光和镜面光,入射角度、距离和衰减因子还会影响到最终的光照效果。

除了物体本身的发射光以外,通常意义上的光并不会是单纯的环境光、散射光或镜面光,而是由这三种类型的光混合组成的。

在OpenGL中,光也是采用RGBA值来定义的,分别描述光线中红绿蓝各成分的相对亮度。计算混合光的亮度时,则把相应的颜色亮度叠加即可,例如:环境光为(R1, G1, B1),散射光为(R2, G2, B2),镜面光为(R3, G3, B3),则混合后的光线为(R1+R2+R3, G1+G2+G3, B1+B2+B3)。

(3)材质:

材质是物体本身的一种属性,主要用来表征物体对不同颜色、不同类型光线的反射、吸收性能。

在OpenGL中设置材质参数,就是要指定这种材质对环境光、散射光、镜面光的反射能力,有时还需要说明该种材质是否具有发光能力。

在最终绘制每个像素时,OpenGL自行将物体材质的各分量与光线的各分量相乘再叠加,从而得到每个像素的RGB值。例如:光线为(R, G, B),材质为(MR, MG, MB),则最终绘制时颜色为(MR*R, MG*G, MB*B)。

(4)获得光照效果的一般过程为:

a)使能光照:glEnable(GL_LIGHTING);

b)设置一种光照模式:glLightModel*();

如果只需要普通的无方向的环境光:

GLfloat light_ambient[]={red, green, blue, alpha}; //环境光的分值

//全局环境光的默认取值为(0.2, 0.2, 0.2, 1.0)

glLightModel*(GL_LIGHT_MODEL_AMBIENT, light_ambient);

如果需要在某个具体位置上放置某个光源,例如:

GLfloat light_ambient[]={0.3, 0.3, 0.3, 1.0}; //环境光

glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient);

GLfloat light_diffuse[]={0.7, 0.7, 0.7, 1.0}; //散射光

glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);

GLfloat light_specular[]={1.0, 1.0, 1.0, 1.0}; //镜面光

glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);

GLfloat light_position[]={0.0, 0.0, 0.0, 1.0}; //光的位置

glLightfv(GL_LIGHT0, GL_POSITION, light_position);

glEnable(GL_LIGHT0); //使能GL_LIGHT0光源

OpenGL至少支持8种独立光源,用来指定这8个光源的常量为GL_LIGHT0~GL_LIGHT7。

利用glLight*()函数还可以指定聚光灯、衰减因子等参数。

c)设置材质属性:

方法一:使用glMaterial*()设置材质,例如:

GLfloat mat[]={0.75f, 0.75f, 0.75f, 1.0f}; //材质中的环境和散射

glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, mat);

GLfloat mat_shininess[]={50.0f}; //材质的光亮度

glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);

GLfloat mat_emission[]={0.75f, 0.75f, 0.75f, 1.0f}; //材质的发光

glMaterialfv(GL_FRONT, GL_EMISSION, mat_emission);

方法二:使用颜色跟踪法,即直接利用glColor*()设置的颜色来设置材质,这种方法使用起来更加方便。例如:

glEnable(GL_COLOR_MATERIAL); //使能颜色跟踪

glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);

glColor3f(0.75, 0.75, 0.75);

d)绘制物体:对于有独立光源的场景,绘制的物体应事先计算好法线矢量。

对于直接使用glu和aux库函数绘制的图元,OpenGL将自动计算其法线;

对于使用glBegin()和glEnd()逐点绘制的图元,则需要使用glNormal*()函数来指定法线。

一般来说,光源和材质的环境光和散射光成分相同,对物体的颜色有最重要的决定作用。镜面光成分和材质属性趋向于浅灰色或白色,镜面光成分主要依赖于入射角度,物体上的亮斑往往是白色的。

5.实验软硬件环境:PC机,Windows 2000,VC++

6.实验步骤和方法:

本实验重点在于熟悉OpenGL光照模型和光源的设置方法,对编程工具、语言、工

程类型等没有严格要求。

下面是以Visual C++ 6.0作为开发环境,创建Win32应用程序工程为例进行的步骤说明,有兴趣的同学也可以使用更高版本的编程工具。

(1)启动Visual C++ 6.0;

(2)新建一个“Win32 Application”类型的Project,Project的名字应为“学号_7”,指定保存位置后单击“确定”按钮;

(3)在工程向导第一步界面中选择“A simple Win32 application.”,单击“Finish”

按钮;

(4)弹出工程信息对话框,确认信息无误后单击“确定”按钮,VC将自动创建好一个Win32应用程序框架;

(5)参考“A01_OpenGL的程序框架”文件夹中的源代码,在自己的工程中添加相应的框架代码(参考程序中将OpenGL框架做成了一个类);

注意:

程序中要正确包含OpenGL的头文件和库文件,否则编译出错;

添加代码时,注意头文件中要增加函数的声明。

(6)编译连接自己的OpenGL框架程序,运行结果应为一个空窗口;

(7)将实验六“OpenGL组合图形”完成的组合物体的相应源代码拷贝到本实验的工程中;

(8)添加上设置光源、材质的语句,要求场景中至少有两个光源;

注意:

先设置光源和材质,再绘制物体;

绘制的物体要注意法线的计算问题,否则无法体现光源的光照效果;

请参考“A03_OpenGL的组合图形”文件夹中的程序(参考程序中将光源的设置代码放置在bsipic::light0方法中,然后在OpenGL类的

SetupPixelFormat方法中调用)。

(9)编译连接自己的程序,多尝试几种光照模型,寻找最佳效果,完成本次实验。

注意:

代码调试成功后,可编译成一个release发布版本(选择菜单栏中“Compile”

下的“Set Active Configuration…”菜单项,在出现的对话框中选中

“release”,重新编译即可)。

7.实验预习要求:阅读OpenGL相关资料,了解颜色、光照、材质等方面的内容。

8.思考题:无

9.评分标准:

(1)能正确在自己设计的组合物体上打出光照阴影效果(80%);

(2)实验报告编写认真详细,按时上交(20%)。

10.实验报告:要求提交1份实验报告、源程序代码(电子档)。

实验报告:

“组别”:填写自己的学号;

“测试记录”:填写自己程序的运行结果,绘制场景中光源和物体位置的示意图。

“小结”:填写自己的感想。

源代码:

提交源程序时应提交整个工程,包括C/CPP文件、h文件、工程文件、res 文件夹等。

工程所在的文件夹中会包含有一个debug目录或release目录,只保留其中的exe文件,其它文件删除,然后将整个工程文件夹压缩打包后提交(包

名中应含有学号)。

建筑材料实训心得体会文档

建筑材料实训心得体会文档Construction materials training experience document 编订:JinTai College

建筑材料实训心得体会文档 小泰温馨提示:心得体会是指一种读书、实践后所写的感受性文字。 语言类读书心得同数学札记相近;体会是指将学习的东西运用到实践 中去,通过实践反思学习内容并记录下来的文字,近似于经验总结。 本文档根据心得体会内容要求和针对主题是实习期群体的特点展开说明,具有实践指导意义,便于学习和使用,本文下载后内容可随意修 改调整及打印。 建筑材料实训要有不怕困难,永不言败的精神,才能使 学到的知识得到实践。下面是带来的建筑材料实训的心得体会,仅供参考。 建筑材料实训心得体会一: 转眼间,一个学期就过了,不得不感慨,时间过得真快 啊!这个学期我们有一门课叫《建筑材料》,简称“建材”。 这是我们的专业课,学的东西对我们以后都很有用。可以说,这门课时我们现在所学的各科来说,这是重点。 学这门课,有理论的知识、有实训。其中实训呢,是一 种非常重要的学习方式。通过实训,我们可以学到很多东西,认识到许多仪器设备。这些东西都是与我们建筑行业有关的,这些实训与接触的这些东西让我们提前对建筑这个行业有了解。

我是建材检测协会的,在没上这门课之前我就做过好几 个与这门课有关的实训了,比如说:钢筋拉伸、混凝土试块等等.学长他们还帮我们培训了许多相关内容.虽然好多东西都学了,但是我并不是很熟悉,上建材课的实训,巩固了我们的知识,加深了记忆,让我们对各个实训器械有了进一步的认识,也对知识有了更深的理解。 上实训课我们要分小组,我们组都是我们宿舍的人,所 以没有男生,自然而然,一些苦力的活就落在我的头上了。拿稍微重点的东西就是我去了,比如说:做混凝土的试块的模,做完后拿去振捣,我一个人拿一个,她们俩人拿一个……实训课都是我们亲力亲为,筛沙子、做试块、铲砂石、称重量、拌混凝土。。。。。。都是我们自己弄的。这些实训不仅仅让我们懂得了知识,也让我们的身心得到了锻炼。在老师的指导下,我们完成了一次又一次的实训,虽然没有几次是做出合格的结果,但是我们尽力了。老师的教导让我少走了许多弯路,让 我们在不会的她给我们提供帮助,做实训的时候她会在旁边悉心教导,让我们能在最短的时间内完成实训。她会教我们怎么做、做什么…… 通过这个学期的实训课,我学到了许多书上的、课外的 知识。实训课是我们学习知识的一个号方法,他能让我们更加

OpenGL入门学习之七——使用光照来表现立体感

OpenGL入门学习之七——使用光照来表现立体感 2009-01-07 11:49 从生理学的角度上讲,眼睛之所以看见各种物体,是因为光线直接或间接的从它们那里到达了眼睛。人类对于光线强弱的变化的反应,比对于颜色变化的反应来得灵敏。因此对于人类而言,光线很大程度上表现了物体的立体感。 请看图1,图中绘制了两个大小相同的白色球体。其中右边的一个是没有使用任何光照效果的,它看起来就像是一个二维的圆盘,没有立体的感觉。左边的一个是使用了简单的光照效果的,我们通过光照的层次,很容易的认为它是一个三维的物体。 图1 OpenGL对于光照效果提供了直接的支持,只需要调用某些函数,便可以实现简单的光照效果。但是在这之前,我们有必要了解一些基础知识。 一、建立光照模型 在现实生活中,某些物体本身就会发光,例如太阳、电灯等,而其它物体虽然不会发光,但可以反射来自其它物体的光。这些光通过各种方式传播,最后进入我们的眼睛——于是一幅画面就在我们的眼中形成了。 就目前的计算机而言,要准确模拟各种光线的传播,这是无法做到的事情。比如一个四面都是粗糙墙壁的房间,一盏电灯所发出的光线在很短的时间内就会经过非常多次的反射,最终几乎布满了房间的每一个角落,这一过程即使使用目前运算速度最快的计算机,也无法精确模拟。不过,我们并不需要精确的模拟各种光线,只需要找到一种近似的计算方式,使它的最终结果让我们的眼睛认为它是真实的,这就可以了。 OpenGL在处理光照时采用这样一种近似:把光照系统分为三部分,分别是光源、材质和光照环境。光源就是光的来源,可以是前面所说的太阳或者电灯等。材质是指接受光照的各种物体的表面,由于物体如何反射光线只由物体表面决定(OpenGL中没有考虑光的折射),材质特点就决定了物体反射光线的特点。光照环境是指一些额外的参数,它们将影响最终的光照画面,比如一些光线经过多次反射后,已经无法分清它究竟是由哪个光源发出,这时,指定一个“环境亮度”参数,可以使最后形成的画面更接近于真实情况。

实验七-光的衍射实验

实验七-光的衍射实验

实验七 光的衍射实验 一、实验目的 1. 观察夫朗和费衍射图样及演算单缝衍射公式; 2. 观察夫朗和费圆孔衍射图样; 二、实验原理 平行光通过狭缝时产生的衍射条纹定位于无穷远,称作夫朗和费单缝衍射。它的衍射图样比较简单,便于用菲涅耳半波带法计算各级加强和减弱的位置。 设狭缝AB 的宽度为a (如图1,其中把缝宽放大了约百倍),入射光波长为λ, 图1 O 点是缝宽的中点,OP0是AB 面的法线方向。AB 波阵面上大量子波发出的平行于该方向的光线经透镜L 会聚于P0点,这部分光波因相位相同而得到加强。就AB 波阵面均分为AO 、BO 两个波阵面而言,若从每个波带上对应的子波源发出的子波光线到达P0点时光程差为λ/2,此处的光波因干涉相消成为暗点,屏幕上出现暗条纹。如此讨论,随着?角的增大,单缝波面被分为更多个偶数波带时,屏幕上会有另外一些暗条纹出现。若波带数为奇数,则有一些次级子波在屏上别的一些位置相干出现亮条纹。若波带为非整数,则有明暗相间的干涉结果。总之,当衍射光满足: sin BC a k ?λ== (1 2...k =±±, ) 时产生暗条纹;当满足: sin (21)/2BC a k ?λ==+ (01 2...k =±±,  , ) 时产生明条纹。 在使用普通单色光源的情况下(本实验使用钠灯),满足上述原理要求的实验装置一般都需要在衍射狭缝前后各放置一个透镜。但是一种近似的方法也是可行的,就是使光源和观测屏距衍射缝都处在“远区”位置。用一个长焦距

的凸透镜L 使狭缝光源S P1成像于观测屏S 上(如图2),其中S 与S P1的距离稍大于四倍焦距,透镜大致在这个距离中间,在仅靠L 安放一个衍射狭缝S P2,屏S 上即出现夫朗和费衍射条纹。 图2 设狭缝SP2与观测屏S 的距离为b ,第k 级亮条纹与衍射图样中心的距离为xk 则 /k tg x b ?= 由于?角极小,因而sin tg ??≈。又因为衍射图样中心位置不易准确测定,所以一般是量出两条同级条纹间的距离2xk 。由产生明条纹的公式可知: 2(21)k b x k a λ=+ 由此可见,为了求得入射光波长,须测量2k x ,a 和b 三个量。 三、 实验仪器 (1) 钠光灯 (2) 单面可调狭缝: SZ-22 (3) 凸透镜L 1: f=50mm (4) 二维调整架: SZ-07 (5) 单面可调狭缝: SZ-22 (6) 凸透镜L 2: f=70mm (7) 二维调整架: SZ-07 (8) 测微目镜Le (去掉其物镜头的读数显微镜) (9) 读数显微镜架 : SZ-38 (10) 滑座: TH70YZ (11) 滑座: TH70Z (12) 滑座: TH70Z (13) 滑座: TH70

科学实验心得体会

科学实验心得体会 科学是一门以观察,实验为基础的自然科学,许多科学知识是在观察和实验的基础上,认真总结和思考得来的。作为一名科学教师在教授学生科学知识过程中,如能正确的演示或指导学生实验,对学生掌握知识,运用知识可以起着很大的积极作用,同时还能激发学生求知欲望,以及培养学生严谨,求是的科学态度,所以实验教学是科学教学中一个必不可少,而且相当重要的环节。 本人就几年来的教学实验经验积累,提几点建议和看法,以供大家作参考。我认为一堂完整的科学实验课,应做好如下几个环节: 一:看 所谓“看”即“观察和了解”是所有实验的第一环节,包括对实验器材的选取,器材的使用规则,器材的使用范围,以及器材的精确度等,要有一个详尽的了解。例如:测量教室的长度,我们是选用米尺还是选用皮尺呢?因为测量工具的米尺和皮尺,最显具的特点是它们测量范围――量称不同。如果用米尺就必须采用重复测量的方法,即使方法和操作都正确,但仍加大了实验的误差,而皮尺可以一次性测量,有效地减小了误差。使用前,我们还用“看”它零刻度的位置,零刻度是否磨损,以及它的分度值。这些因素直接关系到我们是否操作恰当,读数是否准确的问题。 在体温计的使用上,体温计作为一种特殊的温度计,它有着与其他温度计显具的不同点,(1)量程不同:其它温度计量称一般是从-100℃致100℃甚至更大。而体温计的量称只是从35℃到42℃。(2)构造不同:体温计有一纤细的缩口而其它温度计没有,构造不同导致使用上的不同,体温计读数时可以离开被测物,而其它温度计不允许。更应值得注意的是:每次使用体温计之前,要“看”水银柱是否退回玻璃泡,如果没有,需甩几下,否则使用时可能导致数据的不真实:如:已知甲、乙两人的体温分别为38℃和37.5℃,测量完甲的体温以后,医生忘了甩几下,又直接去测量乙的体温,这时体温计上显示的数据将不会是37.5℃而是38℃ 二:调 即“调整或调节”,它是进行实验的一个准备阶段,调整或调节的正确与否对实验的成功有决定性的作用。对部分需要“调”的实验仪器,应注重怎样正确的“调”。最好当学生的面示范一次或几次。例如:托盘天平的调平衡,首要条件是要将托盘天平放在水平桌面上,然后才能调平,在调平的过程中,双眼应指针,轻轻旋动平衡螺母,使指针指在分度盘的中间,(如不能达到目的,则需移动,并记下游码的位置)。在此过程中,不能用力太猛,否则易于损坏刀刃,减少托盘天平的灵敏度,加大实验的误差,而且每一次进上步的调节,都应在天平静止以后才能进行。在电流表或电压表的机械调零上,由于电流表或电压表长期的使用、运输等因素,使指针不能准确地指回零刻度处,一般我们都采取机械调零的办法:先找到刻度盘中下部找到调零的螺丝,用平字起,慢慢旋动,使指针指回零刻度处,操作的过程中,眼睛应始终盯住刻度盘,旋动的手腕要用力均匀。 三、做 做,即做实验,它是学生实际动手操作参与实践的具体过程。每一种仪器,都有它的使用规则和要求,我们应严格地按照它的规则要求进行操作。特别是在做一些带危险性的或损坏性的实验时,应先通过教师的检查,避免一些不必要的损坏和意外。在用电流表测量电路电流的连接电路时,开关应断开,电流表应与被测部分串联,要保证电流必须从电流表的正极流入负极流出,被测电流不超过电流表的量程,(在不能确定的情况下,可以采用点触或试触的方法),不能将电流表不经过用电器而直接接在电源的两端。当然,我们可以事先将电路图画好,然后按电路图连接达到操作时降低难度的目的。这个过程中必须得到教师的检查同意以后,方才可闭合开关进行实验。否则一旦电流表的正负接线柱接反或电路中发生了短路现象,很容易烧坏电流表。 在“做”观察水的沸腾实验时,就应特别注意酒精灯的正确使用。酒精灯作为一种加热工作,它的构造限定了它的使用方法,不允许用酒精灯去引燃另一盏酒精灯,使用完以后,不能用嘴去吹灭酒精灯,而应用灯帽盖灭,操作过程如果不当或不慎,使洒出的酒精燃烧,不可用水浇(因为酒精的密度小于水的密度,燃烧着的酒精易漂浮在水面上,随水流动,容易发生火灾,而用湿抺布盖灭(隔绝空气的办法)等。 四、记 即在实验中,正确的读取和记录数据,它包括:读取的姿势(例:刻度尺数值的读取时,眼睛应水平垂直或竖直垂直刻度);读取的方法(读到分度值的下一位)和准确的记录(数字与单位要准确)。在此过程中,我们可以通过多媒体演示错误的读取姿势或方法,加深学生对错误和差的了解,加强学生对动手操作的掌握。同时,也应注重实验的事实,而不能任意加大或减小实验数据,有意迎合实验的真实结果,应着力培养学生实事求是的科学态度。 五、析 对于记录的数据由于操作者不同,实验器材的不同,操作方法的不同等因素,可能导致同一实验结果的不同。我们应及时加以总结和分析。帮助学生分析哪些是错误导致的结果,哪些是误差造成的原因,与学生共同探求对实验器

实验7 OpenGL光照

实验7 OpenGL光照 一、实验目的 了解掌握OpenGL程序的光照与材质,能正确使用光源与材质函数设置所需的绘制效果。 二、实验内容 (1)下载并运行Nate Robin教学程序包中的lightmaterial 程序,试验不同的光照与材质系数; (2)运行示范代码1,了解光照与材质函数使用。 三、实验原理 为在场景中增加光照,需要执行以下步骤: (1)设置一个或多个光源,设定它的有关属性; (2)选择一种光照模型; (3)设置物体的材料属性。 具体见教材第8章8.6节用OpenGL生成真实感图形的相关内容。 四、实验代码 #include #include static int year =0,day=0; void init(void){ GLfloat mat_specular[]={1.0,1.0,1.0,1.0}; GLfloat mat_shininess[]={50.0}; GLfloat light_position[]={1.0,1.0,1.0,0.0};

GLfloat white_light[]={1.0,1.0,1.0,1.0}; GLfloat Light_Model_Ambient[]={0.2,0.2,0.2,1.0}; glClearColor(0.0,0.0,0.0,0.0); glShadeModel(GL_SMOOTH); //glMaterialfv(材质指定,单值材质参数,具体指针); glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);//镜面反射光的反射系数 glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);//镜面反射指数 //glLightfv(光源,属性名,属性值); glLightfv(GL_LIGHT0, GL_POSITION, light_position); //光源位置 glLightfv(GL_LIGHT0, GL_DIFFUSE, white_light); //漫放射光分量强度 glLightfv(GL_LIGHT0, GL_SPECULAR, white_light); //折射光强度 glLightModelfv(GL_LIGHT_MODEL_AMBIENT,Light_Model_Ambient); //光源2 GL_LIGHT1 GLfloat mat_specular1[]={1.0,1.0,1.0,1.0}; GLfloat mat_shininess1[]={50.0}; GLfloat light_position1[]={0.0,0.0,0.0,0.0}; GLfloat red_light[]={1.0,0.0,0.0,1.0}; GLfloat Light_Model_Ambient1[]={0.2,0.2,0.2,1.0}; glLightfv(GL_LIGHT1, GL_POSITION, light_position1); //光源位置 glLightfv(GL_LIGHT1, GL_DIFFUSE, red_light); //漫放射光分量强度 glLightfv(GL_LIGHT1, GL_SPECULAR, red_light); //折射光强度 glLightModelfv(GL_LIGHT_MODEL_AMBIENT,Light_Model_Ambient1); //开启灯光

实验七光的衍射实验

实验七 光的衍射实验 一、实验目的 1. 观察夫朗和费衍射图样及演算单缝衍射公式; 2. 观察夫朗和费圆孔衍射图样; 二、实验原理 平行光通过狭缝时产生的衍射条纹定位于无穷远,称作夫朗和费单缝衍射。它的衍射图样比较简单,便于用菲涅耳半波带法计算各级加强和减弱的位置。 设狭缝AB 的宽度为a (如图1,其中把缝宽放大了约百倍),入射光波长为λ, 图1 O 点是缝宽的中点,OP0是AB 面的法线方向。AB 波阵面上大量子波发出的平行于该方向的光线经透镜L 会聚于P0点,这部分光波因相位相同而得到加强。就AB 波阵面均分为AO 、BO 两个波阵面而言,若从每个波带上对应的子波源发出的子波光线到达P0点时光程差为λ/2,此处的光波因干涉相消成为暗点,屏幕上出现暗条纹。如此讨论,随着?角的增大,单缝波面被分为更多个偶数波带时,屏幕上会有另外一些暗条纹出现。若波带数为奇数,则有一些次级子波在屏上别的一些位置相干出现亮条纹。若波带为非整数,则有明暗相间的干涉结果。总之,当衍射光满足: sin BC a k ?λ== (1 2...k =±±, ) 时产生暗条纹;当满足: sin (21)/2BC a k ?λ==+ (01 2...k =±±, , ) 时产生明条纹。 在使用普通单色光源的情况下(本实验使用钠灯),满足上述原理要求的实验装置一般都需要在衍射狭缝前后各放置一个透镜。但是一种近似的方法也

是可行的,就是使光源和观测屏距衍射缝都处在“远区”位置。用一个长焦距的凸透镜L 使狭缝光源S P1成像于观测屏S 上(如图2),其中S 与S P1的距离稍大于四倍焦距,透镜大致在这个距离中间,在仅靠L 安放一个衍射狭缝S P2,屏S 上即出现夫朗和费衍射条纹。 图2 设狭缝SP2与观测屏S 的距离为b ,第k 级亮条纹与衍射图样中心的距离为xk 则 /k tg x b ?= 由于?角极小,因而sin tg ??≈。又因为衍射图样中心位置不易准确测定,所以一般是量出两条同级条纹间的距离2xk 。由产生明条纹的公式可知: 2(21)k b x k a λ=+ 由此可见,为了求得入射光波长,须测量2k x ,a 和b 三个量。 三、 实验仪器 (1) 钠光灯 (2) 单面可调狭缝: SZ-22 (3) 凸透镜L 1: f=50mm (4) 二维调整架: SZ-07 (5) 单面可调狭缝: SZ-22 (6) 凸透镜L 2: f=70mm (7) 二维调整架: SZ-07 (8) 测微目镜Le (去掉其物镜头的读数显微镜) (9) 读数显微镜架 : SZ-38 (10) 滑座: TH70YZ (11) 滑座: TH70Z (12) 滑座: TH70Z (13) 滑座: TH70

建筑材料实训心得体会

建筑材料实训心得体会 通过此次建筑材料实训,让我学习到了许多东西。同时也使我对建筑材料试验有了更进一步的了解和体会。此次实训,我不仅学习到很多关于水泥、砂浆、混凝土的相关知识,而且锻炼了我认真、细心的品质,增强了团队合作及动手操作能力。更重要的是培养了我对这门课的兴趣。 每次试验前,我都会抽出时间来仔细的阅读《建筑材料实训指导》,主要是学习规范、熟悉仪器、了解试验步骤。不放过每一个细节,重点部位就做上标记。但这都还是“纸上谈兵”,当到了真正要试验的时候,才发现没那么简单。幸好,老师在每次试验前,都要把试验的步骤、要求以及规范再仔细地讲一遍。试验中老师在旁边细心观看,对我们出现的问题及时的予以纠正。 刚开始因为试验的某些小环节做的不到位,在测混凝土坍落度试验时,由于脚没有踩住坍落度筒,导致混凝土溢出。于是第二次我们吸取教训,调整了方法。最终使得坍落度满足了要求。因此,我觉得要想顺利完成试验,就必须认真。 这次实训涉及了许多专业知识,通过这些专业知识的结合运用,对于我是一个很好的锻炼,也为接下来的学习,奠定了一个良好的基础。所以我很珍惜这次在学校学习的机会。 实训是学校培养方案和教学计划的重要环节,它是所学理论知识与工程实践的统一,也是学生从学校走向社会的一个不可缺少的过度阶段。短暂的实训已经过去,首先,我想先向所有为我的实训提供帮助的同学和我的指导老师致谢,感谢你们为我顺利的实训所做的帮助和努力。 在书本上学过很多的理论知识,似乎通俗易懂,但从未付诸实践过。通过实训,我把理论和实际相结合,不但巩固了理论知识还增加了动手能力。当初很多题、案例在老师的指导下似乎轻而易举,而当自己亲自上阵时才知道并非易事,才意识到自己能力的欠缺和知识的

第三章光照模型纹理映射

第三章光照模型及纹理映射 基本光照模型 1.在现实生活中,当光照在非透明物体上时,部分光线被物体吸收,剩余的部分光线被反射。人眼依靠这种反射光来感知物体的形状、颜色和其他细节。从光源投向物体的光称为入射光,从物体表面反射回的光称为反射光。 1.1光照模型概述 当光照射到物体表面上时,将出现3种情况: ●光从物体表面反射,形成反射光 ●光穿透物体,形成透射光 ●光被物体吸收,转化成为物体的内能 在上述三种情形的光线中,通常只有前2种情形的光线会对人眼产生视觉效果,使人察觉到物体的色彩变化。 OpenGL用一种近似的光照模型模拟现实世界的光照效果。在该模型中,仅当物体表面吸收和反射光线时,光源才会起做作用。每一个物体表面都假定是由某种特性的材料构成的。一种材料可能发出自己的光线,也可能在各个方向上发散一些射入的光线,还有可能像镜子一样在某个方向强烈地反射入射光。 1.2光照分量 在OpenGL的简化光照模型中,将光照分为4个独立的组成部分:辐射光、环境光、漫反射光和镜面反射光。 1)辐射光

辐射光是直接从物体或光源发出的,不受任何其他光源的影响。 2)环境光 环境光是这样一种光线,它被环境多次反射,以致于连初始 方向也难以确定。这种光线看起来就像来自于所有的方向, 当它照在一个物体表面时,它在所有的方向上等量地反射。 3)漫反射光 在被照射物体表面的反射光中,那些均匀地向各个方向反射 出去的光,称为漫反射光,如黑板反射就属于漫反射光 4)镜面反射光 镜面反射光是指超一定方向的反射光,如点光源照射光滑金 属球表面时,会在球表面形成一个特别亮的区域,呈现所谓 的高亮(Highlight>,这就是光源在该物体表面形成的镜面反射光(Specular Light>。点光源照射表面光滑的物体时,高亮区域小而亮;而点光源照射表面粗糙的物体时,高亮区域大而不亮。 1.3创建光源 光源有许多特性,如颜色、位置、方向等。不同特性的光源,作用在物体上的效果是不一样的。 1.3.1定义一个简单光源 在OpenGL中,定义一个光源是由函数glLight(>来实现的,该函数的原型为:void glLight(GLenum light,GLenum pname>; light为一个光源,pname为光源light指定一个单值的光源参数,

建筑材料心得体会

篇一:建筑材料实训心得体会 建筑材料实训心得体会 通过 此次建筑材料实训,让我学习到了许多东西。同时也使我对建筑材料试验有了更进一步的了解 和体会。此次实训,我不仅学习到很多关于水泥、砂浆、混凝土的相关知识,而且锻炼了我认 真、细心的品质,增强了团队合作及动手操作能力。更重要的是培养了我对这门课的兴趣。 每次 试验前,我都会抽出时间来仔细的阅读《建筑材料实训指导》,主要是学习规范、熟悉仪器、 了解试验步骤。不放过每一个细节,重点部位就做上标记。但这都还是“纸上谈兵”,当到了 真正要试验的时候,才发现没那么简单。幸好,老师在每次试验前,都要把试验的步骤、要求 以及规范再仔细地讲一遍。试验中老师在旁边细心观看,对我们出现的问题及时的予以纠正。 刚开 始因为试验的某些小环节做的不到位,在测混凝土坍落度试验时,由于脚没有踩住坍落度筒, 导致混凝土溢出。于是第二次我们吸取教训,调整了方法。最终使得坍落度满足了要求。因 此,我觉得要想顺利完成试验,就必须认真。 这次 实训涉及了许多专业知识,通过这些专业知识的结合运用,对于我是一个很好的锻炼,也为接 下来的学习,奠定了一个良好的基础。所以我很珍惜这次在学校学习的机会。 实训 是学校培养方案和教学计划的重要环节,它是所学理论知识与工程实践的统一,也是学生从学 校走向社会的一个不可缺少的过度阶段。短暂的实训已经过去,首先,我想先向所有为我的实 训提供帮助的同学和我的指导老师致谢,感谢你们为我顺利的实训所做的帮助和努力。 在书 本上学过很多的理论知识,似乎通俗易懂,但从未付诸实践过。通过实训,我把理论和实际相 结合,不但巩固了理论知识还增加了动手能力。当初很多题、案例在老师的指导下似乎轻而易 举,而当自己亲自上阵时才知道并非易事,才意识到自己能力的欠缺和知识的 乏,才体味到古人所说的一句话“书到用时方恨少”。可是世上没有后悔药。我只有不断学 习,吃苦耐劳,塌实工作,拓宽视野,增长见识。积极面对每一天的挑战,明确今后职业生涯 的目标方向,在工作中积累丰富的知识和经验。接下来我要一路披荆斩棘,努力地学习与实 践,不断地提高自己。 由于 我们先前试验时严格遵守试验要求,所以在撰写报告的过程中,显得很是轻松。我先是用了一 天的时间来整理数据,然后用接下来的两天撰写报告。虽然紧张但非常的有序。

7 习题七 光的衍射

第1页共4页 习题七 光的衍射 习题册-上-7 学院 班 序号___________姓名 习题七 一、选择题 1.在单缝衍射实验中,缝宽a =0.2mm ,透镜焦距f =0.4m ,入射光波长λ=500nm ,则在距离中央亮纹中心位置2mm 处是亮纹还是暗纹?从这个位置看上去可以把波阵面分为几个半波带? [ ] (A )亮纹,3个半波带; (B )亮纹,4个半波带; (C )暗纹,3个半波带; (D )暗纹,4个半波带。 2.波长为632.8nm 的单色光通过一狭缝发生衍射。已知缝宽为1.2mm ,缝与观察屏之间的距离为D =2.3m 。则屏上两侧的两个第8级极小之间的距离x ?为 [ ] (A )1.70cm ; (B )1.94cm ; (C )2.18cm ; (D )0.97cm 。 3.波长为600nm 的单色光垂直入射到光栅常数为2.5×10-3mm 的光栅上,光栅的刻痕与缝宽相等,则光谱上呈现的全部级数为 [ ] (A )0、±1、±2、±3、±4; (B )0、±1、±3; (C )±1、±3; (D )0、±2、±4。 4.用白光(波长范围:400nm-760nm )垂直照射光栅常数为2.4×10-4cm 的光栅,则第一级光谱的张角为 [ ] (A )9.5?; (B )18.3?; (C )8.8?; (D )13.9?。 5.欲使波长为λ(设为已知)的X 射线被晶体衍射,则该晶体的晶面间距最小应为 [ ]。 (A )λ/4; (B )2λ; (C )λ; (D )λ/2。 二、填空题 1.在单缝夫琅和费衍射实验中,设第一级暗纹的衍射角很小。若以钠黄光(λ1=589nm)为入射光,中央明纹宽度为 4.0mm ;若以蓝紫光(λ2=442nm)为入射光,则中央明纹宽度为________mm 。 2.单色光1λ=720nm 和另一单色光2λ经同一光栅衍射时,发生这两种谱线的多次重叠现象。设1λ的第1k 级主极大与2λ的第2k 级主极大重叠。现已知当1k 分别为2, 4, 6,,时,对应的2k 分别为3, 6, 9,,。 ,则波长2λ= nm 。 3.为测定一个光栅的光栅常数,用波长为632.8nm 的单色光垂直照射光栅,测得第一级主

建筑材料实训心得体会3篇

建筑材料实训心得体会3篇 建筑材料实训心得体会一: 转眼间,一个学期就过了,不得不感慨,时间过得真快啊!这个学期我们有一门课叫《建筑材料》,简称建材。这是我们的专业课,学的东西对我们以后都很有用。可以说,这门课时我们现在所学的各科来说,这是重点。 学这门课,有理论的知识、有实训。其中实训呢,是一种非常重要的学习方式。通过实训,我们可以学到很多东西,认识到许多仪器设备。这些东西都是与我们建筑行业有关的,这些实训与接触的这些东西让我们提前对建筑这个行业有了解。 我是建材检测协会的,在没上这门课之前我就做过好几个与这门课有关的实训了,比如说:钢筋拉伸、混凝土试块等等.学长他们还帮我们培训了许多相关内容.虽然好多东西都学了,但是我并不是很熟悉,上建材课的实训,巩固了我们的知识,加深了记忆,让我们对各个实训器械有了进一步的认识,也对知识有了更深的理解。 上实训课我们要分小组,我们组都是我们宿舍的人,所以没有男生,自然而然,一些苦力的活就落在我的头上了。拿稍微重点的东西就是我去了,比如说:做混凝土的试块的模,做完后拿去振捣,我一个人拿一个,她们俩人拿一个实训课都是我们亲力亲为,筛沙子、做试块、铲砂石、称重量、拌混凝土。。。。。。都是我们自己弄的。这些实训不仅仅让我

们懂得了知识,也让我们的身心得到了锻炼。在老师的指导下,我们完成了一次又一次的实训,虽然没有几次是做出合格的结果,但是我们尽力了。老师的教导让我少走了许多弯路,让我们在不会的她给我们提供帮助,做实训的时候她会在旁边悉心教导,让我们能在最短的时间内完成实训。她会教我们怎么做、做什么 通过这个学期的实训课,我学到了许多书上的、课外的知识。实训课是我们学习知识的一个号方法,他能让我们更加直观、深入的学会书上的理论知识。在实训的过程中,我们自己动手,这不仅让能我们学到知识、认识器械,还让我们锻炼了自己的动手能力。真的希望以后学习其他科目也能像建材这门课一样理论课与实训课相结合。 建筑材料实训心得体会二: 20XX年11月,公司组织全体员工学习了工程建筑常识的学习培训,本次主要学习了建设有关的专业常识,从学习的角度主要包括建设工程造价的组成、房屋建筑工程的构成、建筑专业术语解释、成都市住宅工程质量分户验收管理暂行规定,从应用上主要是对我们以后购买商品房有很大帮助。 作为工程部的管理工程师,通过此次培训再次加深了对工程建设常识和专业知识的理解,我个人理解主要体现以下几方面: 第一,公司负责建设工程土地整理、基础设施建设等相关工作,组织学习建筑的常识有助于日常工作开展,加深对

衍射光强实验报告

教学目的 1、观察单缝衍射现象,加深对衍射理论的理解; 2、学会使用衍射光强实验系统,并能用其测定单缝衍射的光强分布; 3、形成实事求是的科学态度和严谨、细致的工作作风。 重点:SGS-3型衍射光强实验系统的调整和使用 难点:1)激光光线与光电仪接收管共轴调节;2)光传感器增益度的正确调整 讲授、讨论、实验演示相结合 3学时 一、实验简介 光的衍射现象是光的波动性的一种表现。衍射现象的存在,深刻说明了光子的运动 是受测不准关系制约的。因此研究光的衍射,不仅有助于加深对光的本性的理解,也是 近代光学技术(如光谱分析,晶体分析,全息分析,光学信息处理等)的实验基础。 衍射导致光强在空间的重新分布,利用光电传感元件探测光强的相对变化,是近 代技术中常用的光强测量方法之一。 二、实验目的 1、学会SGS-3型衍射光强实验系统的调整和使用方法; 2、观察单缝衍射现象,研究其光强分布,加深对衍射理论的理解; 3、学会用光电元件测量单缝衍射的相对光强分布,掌握其分布规律; 4、学会用衍射法测量狭缝的宽度。 三、实验原理 1、单缝衍射的光强分布 当光在传播过程中经过障碍物时,如不透明物体的边缘、小孔、细线、狭缝等, 一部分光会传播到几何阴影中去,产生衍射现象。如果障碍物的尺寸与波长相近,那么 这样的衍射现象就比较容易观察到。 单缝衍射[single-slit diffraction]有两种:一种是菲涅耳衍射[Fresnel diffraction],单 缝距离光源和接收屏[receiving screen]均为有限远[near field],或者说入射波和衍 射波都 是球面波;另一种是夫琅禾费衍射[Fraunhofer diffraction],单缝距离光源和接收屏 均为

建筑材料实训心得体会

建筑材料实训心得体会 摘要:实习,是我第一次正式与社会接轨步入工作的殿堂,开始与以往完全不一样的生活。一切对于我这个初出茅庐的学生来说都是新鲜并具有挑战性的,工作上的很多地方吸引着我去学习和挖掘。通过这段时间的实习,让我深深体会到了做办公室资料及预算工作,需要具备三心:细心、耐心、责任心。细心决定对细节的处理,常言道细节决定成败,因此细心必不可少。只有耐心才能把看起来琐碎的工作干好,做到实处。 建筑材料实训心得体会一 一、实训目的 市政工程定额与预算实训是一门实践性课程,是在完成了课程学习后所进行的一项专业综合练习。 在市政工程预算的课程教学中,学生已经边学边练的完成了各个分部分项工程的工程量计算,以及定额的基价的套用,并且已经掌握了工程造价的计算程序,工程量清单的编制。但由于课时有限,尚未编制一套较完整的施工图预算。预算编制内容多、时间长和单件性的特点,仅通过分部分项工程的预算练习远不能达到较好地、全面地掌握市政工程预算的编制方法和基本技能。因此,通过市政工程预算编制实训操作训练,有利于学生运用所学知识,进一步较好地系统地掌握市政工程预算的编制方法、程序和技能。

二、实训内容 实训的主要内容是根据设计的建筑、结构施工图、预算定额、费用定额、清单计价规范和有关资料,着手编制1套完整的市政单位工程施工图预算和清单工程量计价。 具体内容为: 1。熟悉施工图及有关资料; 2。列项、计算工程量; 3。预算定额的套用和换算; 4。直接工程费的计算 5。主要材料及用工量的分析及主要材料价差调整(钢筋、水泥、砂、石子等); 6。计算措施费、间接费、利润、税金,计算工程造价; 7。编制完整的施工图预算书(含编制说明、单方造价、建筑面积、工程量计算表、工程预算表、材料、人工、机械分析表、材料消耗汇总、主要材料价差调整表、工程费用汇总表等),并装订成册。 8。作为招标文件的工程量清单(附有标准文本格式) 9。作为投标文件的清单工程量报价(附有标准文本格式) 三、实训要求 1。独立完成

衍射光强分布测量实验报告.docx1

衍射光强分布的测量 1008406006 物理师范陈开玉 摘要:为了观察并验证单缝衍射和多缝衍射的图样以及它们的规律,本实验设计了基于水平光路的测量方法。运用自动光强记录仪来对衍射现象进行比较函数化的观察。实验观察到衍射条纹随着缝宽变窄而模糊和间距扩大,并且通过仪器对光强图样的位置定位和夫琅禾费光强的公式来计算单缝的缝宽。该实验装置结构简单、调节方便、条纹移动清晰。 关键词:衍射自动光强记录仪单缝多缝 一、引言 光的衍射现象是光的波动性的重要表现,并在实际生活中有较多应用,如运用单缝衍射测量物体之间的微小间隔和位移,或者用于测量细微物体的尺寸等。本实验要求通过观察、测量夫琅禾费衍射光强分布,加深对光的衍射现象的理解和掌握。 二、实验原理 1,衍射的定义: 波遇到障碍物或小孔后通过散射继续传播的现象。衍射现象是波的特有现象,一切波都会发生衍射现象,而光也是波的一种, 光在传播路径中,遇到不透明或透明的障碍物或者小孔(窄缝),绕过障碍物,产生偏离直线传播的现象称为光的衍射。衍射时产生的明暗条纹或光环,叫衍射图样2,光的衍射分为夫琅禾费衍射和菲涅尔衍射, 夫琅禾费衍射是指光源和观察点距障碍物为无限远,即平行光的衍射;而菲涅尔衍射是指光源和观察点距障碍物为有限远的衍射.本实验研究的只是夫琅禾费衍射.实际实验中只要满足光源与衍射体之间的距离u,衍射体至观察屏之间的距离v都远大于就满足了夫琅禾费衍射的条件,其中a为衍射物的孔径,λ为光源的波长. 3,单缝、单丝衍射原理:

如上图所示,a为单缝宽度,缝和屏之间的距离为v,为衍射角,其在观察屏上的位置为x,x离屏幕中心o的距离为OX=,设光源波长为λ,则有单缝夫琅禾费衍射的光强公式为: 式中是中心处的光强,与缝宽的平方成正比。 若将所成衍射图样的光强画成函数图象在坐标系中,则所成函数图象大致如下 除主极强外,次极强出现在的位置,它们是超越方程的根,其数值为: 对应的值为 当角度很小时,满足,则OX可以近似为 因而我们可以通过得出函数中次级强的峰值的横坐标只差来确定狭缝的宽度a 4,多缝衍射和干涉原理

大学生材料万能实验心得体会

大学生材料万能实验心得体会传感器与测试技术是一门理论性和实践性都很强的专业基础课,也是一门综合性的技术基础学科,它需要数学、物理学、电子学、力学、机械等知识,同时还要掌握各种物理量的变换原理、各种静态和动态物理量(如力、振动、噪声、压力和温度等)的测定,以及实验装置的设计和数据分析等方面所涉及的基础理论。许多测试理论和方法只有通过实际验证才能加深理解并真正掌握。实验就是使学生加深理解所学基础知识,掌握各类典型传感器、记录仪器的基本原理和适用范围;具有测试系统的选择及应用能力;具有实验数据处理和误差分析能力;得到基本实验技能的训练与分析能力的训练,使学生初步掌握测试技术的基本方法,具有初步独立进行机械工程测试的能力,对各门知识得到融会贯通的认识和掌握,加深对理论知识的理解。 测试技术实验课是本门课程的重要环节,其目的是培养学生的分析和解决实际问题的能力,从而掌握机械工程测试技术手段,为将来从事技术工作和科学研究奠定扎实的基础。 通过本门课程实验,以下能力得到了较大的提高: 1、了解常用传感器的原理和应用,以及传感器使用的注意事项及各种测试中不同传感器的选择方法。 2、培养具有综合应用相关知识来解决测试问题的基础理论;

3、培养在实践中研究问题,分析问题和解决问题的能力; 我们必须坚持理论联系实际的思想,以实践证实理论,从实践中加深对理论知识的理解和掌握。实验是我们快速认识和掌握理论知识的一条重要途径。 在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就会听不懂,这将使你在做实验时的难度加大,浪费做实验的宝贵时间.比如做应变片的实验,你要清楚电桥的各种接法,如果你不清楚,在做实验时才去摸索,这将使你极大地浪费时间,使你事倍功半.做实验时,一定要亲力亲为,务必要将每个步骤,每个细节弄清楚,弄明白,实验后,还要复习,思考,这样,你的印象才深刻,记得才牢固,否则,过后不久你就会忘得一干二净,这还不如不做.做实验时,老师还会根据自己的亲身体会,将一些课本上没有的知识教给我们,拓宽我们的眼界,使我们认识到这门课程在生活中的应用是那么的广泛. 我们做实验绝对不能人云亦云,要有自己的看法,这样我们就要有充分的准备,若是做了也不知道是个什么实验,那么做了也是白做。实验总是与课本知识相关的,实验中回顾课本的知识,知道实验时将要测量什么物理量,写报告时怎么处理这些物理量。 在实验过程中,我们应该尽量减少操作的盲目性提高实验效率的保证,有的人一开始就赶着做,结果却越做越忙,主要就是这个原因。我也曾经犯过这样的错误。在做电桥实验时,开始没

实训报告材料心得体会

实训报告心得体会 实训报告心得体会一:实训心得体会 实训,就是把我们在学校所学的理论知识,运用到客观实际中去,是自己所学到的理论知识有用武之地,只学不实践,那么所学的就等于零。理论应该与时间相结合。另一方面,实践卡可以为以后找工作打基础。通过这段时间的实习,学到一些在学校里学不到的东西。因为环境不同,接触的人与事不同,从中学到的东西自然就不一样。要学会从实践中学习,从学习中时间。而且中国的紧急飞速发展,在拥有越来越多的机会的同是,也有了更多的挑战。对于人才的要求就会越来越高,我们不只要学号学校所学到的知识,好药不断充生活中,实践中学其他知识,不断从各方面武装自己,才能在竞争中突出自己,表现自己。 短短两个月的工作过程是我受益很大。不仅让我开阔了眼界,最主要的是懂得了如何更好的为人处事。 第一要真诚:你可以伪装自己的面孔,但绝不可以忽略真诚的力量。记得第一天来这里时,心里不可避免的有些疑惑:不知道老板怎么样,应该去怎么做,要去感谢什么等等。

踏进大门后,之间几个陌生的人用莫名而疑惑的眼神看着我,我微笑和他们打招呼,尴尬的局面理科得到了缓解,大家都很友善的微笑欢迎我的到来。从那天戚,我养成了一个习惯,每天早上见到他们都要微笑的说声好。 第二是激情与耐心:激情与耐心,就像火与冰,看是两种完全不同的东西,却能碰撞出最美丽的火法。 第三是主动出击:当你可以选择的时候,把主动权握在自己手中,在实习旗舰,我会主动的协同同事工作,主动的做些力所能及的事,并会几级的寻找合适的时间跟他们交流。谈生活学习以及未来的工作,通过这些我就同事们走的很近,在实习中,他们会教我怎么做事见什么样的人说什么样的话,使我觉得花的了很多收获而且和他们相处的很愉快。 第四是感受到学校和社会的距离:在学校,只有学习的氛围,毕竟学校是学习的场所,每一个学生都在为取得更高的成绩而努力。在这里是工作的场所,每个人都会为了获得更多的报酬而努力,无论是学习还是工作,都存在着竞争,在竞争中就要不断学习别人

实验七 OPENGL光照效果

1.实验七OpenGL光照效果(选做) 1.实验七:OpenGL光照效果。 2.实验目的:通过上机编程,熟悉并掌握OpenGL中光照效果的制造方法。 3.实验要求: (1)先做实验项目:实验六“OpenGL组合图形”。 (2)每人一组,独立完成。 (3)利用OpenGL提供的颜色、光源、材质设置,对实验六“OpenGL组合图形” 中自己设计的物体设置绘制颜色和材质参数,并在场景中添加光源,形成一 定的光照明暗效果。 4.实验原理及内容: 在现实世界中,光线和物体的材质共同决定了物体在人眼中的效果。OpenGL 中则涉及到绘制颜色、物体的材质参数、场景中的光源颜色和位置,以此达到一定 的真实感光照效果。 (1)颜色: OpenGL通过指定红、绿、蓝(RGB)三个成分的各自亮度来确定颜色,有时还有第四个成分alpha:glColor*(red,green,blue[,alpha]); glColor()函数设置当前的绘图颜色,red、green和blue分别为红、绿、蓝的亮度,alpha为透明度,取值均为0.0~1.0。在该函数之后绘制的所有物体都将使用该 颜色。 (2)光线: OpenGL的光照模型中将光源分成四种: 发射光:一个物体本身就是一个发光源,如太阳、电灯等,这种光不受其它任何光源的影响。 环境光:从光源出发后光线被环境多次反射,以致没有明确的方向,或者说来自于所有的方向。被环境光照射的物体,各个表面都均等受光。 散射光:来自于某个方向,被物体表面均匀地反射,例如荧光照明、窗口射入的阳光等。 镜面光:来自于一个方向,被物体强烈地反射到另一个特定的方向。高亮

度的镜面光往往能在被照射的物体表面产生亮斑,如金属球上的高光区。 对于散射光和镜面光,入射角度、距离和衰减因子还会影响到最终的光照效果。 除了物体本身的发射光以外,通常意义上的光并不会是单纯的环境光、散射光或镜面光,而是由这三种类型的光混合组成的。 在OpenGL中,光也是采用RGBA值来定义的,分别描述光线中红绿蓝各成分的相对亮度。计算混合光的亮度时,则把相应的颜色亮度叠加即可,例如:环境光为(R1,G1,B1),散射光为(R2,G2,B2),镜面光为(R3,G3,B3),则混合后的光线为(R1+R2+R3,G1+G2+G3,B1+B2+B3)。 (3)材质: 材质是物体本身的一种属性,主要用来表征物体对不同颜色、不同类型光线的反射、吸收性能。 在OpenGL中设置材质参数,就是要指定这种材质对环境光、散射光、镜面光的反射能力,有时还需要说明该种材质是否具有发光能力。 在最终绘制每个像素时,OpenGL自行将物体材质的各分量与光线的各分量相乘再叠加,从而得到每个像素的RGB值。例如:光线为(R,G,B),材质为(MR,MG, MB),则最终绘制时颜色为(MR*R,MG*G,MB*B)。 (4)获得光照效果的一般过程为: a)使能光照:glEnable(GL_LIGHTING); b)设置一种光照模式:glLightModel*(); 如果只需要普通的无方向的环境光: GLfloat light_ambient[]={red,green,blue,alpha};//环境光的分值 //全局环境光的默认取值为(0.2,0.2,0.2,1.0) glLightModel*(GL_LIGHT_MODEL_AMBIENT,light_ambient); 如果需要在某个具体位置上放置某个光源,例如: GLfloat light_ambient[]={0.3,0.3,0.3,1.0};//环境光 glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambient); GLfloat light_diffuse[]={0.7,0.7,0.7,1.0};//散射光 glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse); GLfloat light_specular[]={1.0,1.0,1.0,1.0};//镜面光 glLightfv(GL_LIGHT0,GL_SPECULAR,light_specular);

相关文档
最新文档