C#中Reflection(反射)

C#中Reflection(反射)
C#中Reflection(反射)

C#中Reflection反射

反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成

员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,

即可直接创建对象,即使这个对象的类型在编译时还不知道。

程序代码在编译后生成可执行的应用,我们首先要了解这种可执行应用程序的结构。

应用程序结构分为应用程序域—程序集—模块—类型—成员几个层次,公共语言运行库加载器管理应

用程序域,这种管理包括将每个程序集加载到相应的应用程序域以及控制每个程序集中类型层次结构

的内存布局。

程序集包含模块,而模块包含类型,类型又包含成员,反射则提供了封装程序集、模块和类型的对象。我们可以使用反射动态地创建类型的实例,将类型绑定到现有对象或从现有对象中获取类型,然后调

用类型的方法或访问其字段和属性。反射通常具有以下用途。

(1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型

并创建该类型的实例。

(2)使用Module了解包含模块的程序集以及模块中的类等,还可以获取在模块上定义的所有全局方

法或其他特定的非全局方法。

(3)使用ConstructorInfo了解构造函数的名称、参数、访问修饰符(如pulic或private)和实现详

细信息(如abstract或virtual)等。使用Type的GetConstructors或GetConstructor方法来调用特

定的构造函数。

(4)使用MethodInfo了解方法的名称、返回类型、参数、访问修饰符(如pulic或private)和实现

详细信息(如abstract或virtual)等。使用Type的GetMethods或GetMethod方法来调用特定的方法。

(5)使用FiedInfo了解字段的名称、访问修饰符(如public或private)和实现详细信息(如static)等,并获取或设置字段值。

(6)使用EventInfo了解事件的名称、事件处理程序数据类型、自定义属性、声明类型和反射类型等,添加或移除事件处理程序。

(7)使用PropertyInfo了解属性的名称、数据类型、声明类型、反射类型和只读或可写状态等,获取或设置属性值。

(8)使用ParameterInfo了解参数的名称、数据类型、是输入参数还是输出参数,以及参数在方法签

名中的位置等。

System.Reflection.Emit命名空间的类提供了一种特殊形式的反射,可以在运行时构造类型。

反射也可用于创建称为类型浏览器的应用程序,使用户能够选择类型,然后查看有关选定类型的信息。

此外,Jscript等语言编译器使用反射来构造符号表。System.Runtime.Serialization命名空间中的类使用反射来访问数据并确定要永久保存的字段,System.Runtime.Remoting命名空间中的类通过序列化来间接地使用反射。

2008年03月01日星期六下午 07:36

[来源]https://www.360docs.net/doc/169540482.html,/sscsgss/archive/2006/10/19/1341035.aspx

提纲:

1、什么是反射

2、命名空间与装配件的关系

3、运行期得到类型信息有什么用

4、如何使用反射获取类型

5、如何根据类型来动态创建对象

6、如何获取方法以及动态调用方法

7、动态创建委托

1、什么是反射

Reflection,中文翻译为反射。

这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:…程序集(Assembly)?、…模块(Module)?、…类型(class)?组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如:

Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实例。

Type类可以获得对象的类型信息,此信息包含对象的所有要素:方法、构造器、属性等等,通过Type类可以得到这些要素的信息,并且调用之。

MethodInfo包含方法的信息,通过这个类可以得到方法的名称、参数、返回值等,并且可以调用之。

诸如此类,还有FieldInfo、EventInfo等等,这些类都包含在System.Reflection命名空间下。

2、命名空间与装配件的关系

很多人对这个概念可能还是很不清晰,对于合格的.Net程序员,有必要对这点进行澄清。

命名空间类似与Java的包,但又不完全等同,因为Java的包必须按照目录结构来放置,命名空间则不需要。

装配件是.Net应用程序执行的最小单位,编译出来的.dll、.exe都是装配件。

装配件和命名空间的关系不是一一对应,也不互相包含,一个装配件里面可以有多个命名空间,一个命名空间也可以在多个装配件中存在,这样说可能有点模糊,举个例子:装配件A:

namespace N1

{

public class AC1 {…}

public class AC2 {…}

}

namespace N2

{

public class AC3 {…}

public class AC4{…}

}

装配件B:

namespace N1

{

public class BC1 {…}

public class BC2 {…}

}

namespace N2

{

public class BC3 {…}

public class BC4{…}

}

这两个装配件中都有N1和N2两个命名空间,而且各声明了两个类,这样是完全可以的,然后我们在一个应用程序中引用装配件A,那么在这个应用程序中,我们能看到

N1下面的类为AC1和AC2,N2下面的类为AC3和AC4。

接着我们去掉对A的引用,加上对B的引用,那么我们在这个应用程序下能看到的N1下面的类变成了BC1和BC2,N2下面也一样。

如果我们同时引用这两个装配件,那么N1下面我们就能看到四个类:AC1、AC2、BC1和BC2。

到这里,我们可以清楚一个概念了,命名空间只是说明一个类型是那个族的,比如有人是汉族、有人是回族;而装配件表明一个类型住在哪里,比如有人住在北京、有人住在上海;那么北京有汉族人,也有回族人,上海有汉族人,也有回族人,这是不矛盾的。

上面我们说了,装配件是一个类型居住的地方,那么在一个程序中要使用一个类,就必须告诉编译器这个类住在哪儿,编译器才能找到它,也就是说必须引用该装配件。

那么如果在编写程序的时候,也许不确定这个类在哪里,仅仅只是知道它的名称,就不能使用了吗?答案是可以,这就是反射了,就是在程序运行的时候提供该类型的地址,而去找到它。

有兴趣的话,接着往下看吧。

3、运行期得到类型信息有什么用

有人也许疑问,既然在开发时就能够写好代码,干嘛还放到运行期去做,不光繁琐,而且效率也受影响。

这就是个见仁见智的问题了,就跟早绑定和晚绑定一样,应用到不同的场合。有的人反对晚绑定,理由是损耗效率,但是很多人在享受虚函数带来的好处的时侯还没有意识到他已经用上了晚绑定。这个问题说开去,不是三言两语能讲清楚的,所以就点到为止了。

我的看法是,晚绑定能够带来很多设计上的便利,合适的使用能够大大提高程序的复用性和灵活性,但是任何东西都有两面性,使用的时侯,需要再三衡量。

接着说,运行期得到类型信息到底有什么用呢?

还是举个例子来说明,很多软件开发者喜欢在自己的软件中留下一些接口,其他人可以编写一些插件来扩充软件的功能,比如我有一个媒体播放器,我希望以后可以很方便的扩展识别的格式,那么我声明一个接口:

public interface IMediaFormat

{

string Extension {get;}

Decoder GetDecoder();

}

这个接口中包含一个Extension属性,这个属性返回支持的扩展名,另一个方法返回一个解码器的对象(这里我假设了一个Decoder的类,这个类提供把文件流解码的功能,扩展插件可以派生之),通过解码器对象我就可以解释文件流。

那么我规定所有的解码插件都必须派生一个解码器,并且实现这个接口,在GetDecoder 方法中返回解码器对象,并且将其类型的名称配置到我的配置文件里面。

这样的话,我就不需要在开发播放器的时侯知道将来扩展的格式的类型,只需要从配置文件中获取现在所有解码器的类型名称,而动态的创建媒体格式的对象,将其转换为IMediaFormat接口来使用。

这就是一个反射的典型应用。

4、如何使用反射获取类型

首先我们来看如何获得类型信息。

获得类型信息有两种方法,一种是得到实例对象

这个时侯我仅仅是得到这个实例对象,得到的方式也许是一个object的引用,也许是一个接口的引用,但是我并不知道它的确切类型,我需要了解,那么就可以通过调用System.Object上声明的方法GetType来获取实例对象的类型对象,比如在某个方法内,我需要判断传递进来的参数是否实现了某个接口,如果实现了,则调用该接口的一个方法:

public void Process( object processObj )

{

Type t = processsObj.GetType();

if( t.GetInterface(“ITest”) !=null )

}

另外一种获取类型的方法是通过Type.GetType以及Assembly.GetType方法,如:

Type t = Type.GetType(“System.String”);

需要注意的是,前面我们讲到了命名空间和装配件的关系,要查找一个类,必须指定它

所在的装配件,或者在已经获得的Assembly实例上面调用GetType。

本装配件中类型可以只写类型名称,另一个例外是mscorlib.dll,这个装配件中声明的类型也可以省略装配件名称(.Net装配件编译的时候,默认都引用了mscorlib.dll,除非在编译的时候明确指定不引用它),比如:

System.String是在mscorlib.dll中声明的,上面的

Type t = Type.GetType(“System.String”)是正确的

System.Data.DataTable是在System.Data.dll中声明的,那么:

Type.GetType(“System.Data.DataTable”)就只能得到空引用。

必须:

Type t = Type.GetType("System.Data.DataTable,System.Data,Version=1.0.3300.0, Culture =neutral, PublicKeyToken=b77a5c561934e089");

这样才可以,大家可以看下面这个帖子:

https://www.360docs.net/doc/169540482.html,/Expert/topic/2210/2210762.xml?temp=.1919977 qqchen的回答很精彩

5、如何根据类型来动态创建对象

System.Activator提供了方法来根据类型动态创建对象,比如创建一个DataTable:

Type t = Type.GetType("System.Data.DataTable,System.Data,Version=1.0.3300.0, Cu lture=neutral, PublicKeyToken=b77a5c561934e089");

DataTable table = (DataTable)Activator.CreateInstance(t);

例二:根据有参数的构造器创建对象

namespace TestSpace {

public class TestClass

{

private string _value;

public TestClass(string value) {

_value=value;

}

}

}

Type t = Typ e.GetType(“TestSpace.TestClass”);

Object[] constructParms = new object[] {“hello”}; //构造器参数

TestClass obj = (TestClass)Activator.CreateInstance(t,constructParms);

把参数按照顺序放入一个Object数组中即可

6、如何获取方法以及动态调用方法

namespace TestSpace

{

public class TestClass {

private string _value;

public TestClass() { }

public TestClass(string value) {

_value = value;

}

public string GetValue( string prefix ) {

if( _value==null )

return "NULL";

else

return prefix+" : "+_value;

}

public string Value {

set {

_value=value;

}

get {

if( _value==null )

return "NULL";

else

return _value;

}

}

}

}

上面是一个简单的类,包含一个有参数的构造器,一个GetValue的方法,一个Value 属性,我们可以通过方法的名称来得到方法并且调用之,如:

//获取类型信息

Type t = Type.GetType("TestSpace.TestClass");

//构造器的参数

object[] constuctParms = new object[]{"timmy"};

//根据类型创建对象

object dObj = Activator.CreateInstance(t,constuctParms);

//获取方法的信息

MethodInfo method = t.GetMethod("GetValue");

//调用方法的一些标志位,这里的含义是Public并且是实例方法,这也是默认的值BindingFlags flag = BindingFlags.Public | BindingFlags.Instance;

//GetValue方法的参数

object[] parameters = new object[]{"Hello"};

//调用方法,用一个object接收返回值

object returnValue = method.Invoke(dObj,flag,Type.DefaultBinder,parameters,null);

属性与方法的调用大同小异,大家也可以参考MSDN

7、动态创建委托

委托是C#中实现事件的基础,有时候不可避免的要动态的创建委托,实际上委托也是一种类型:System.Delegate,所有的委托都是从这个类派生的

System.Delegate提供了一些静态方法来动态创建一个委托,比如一个委托:

namespace TestSpace {

delegate string TestDelegate(string value);

public class TestClass {

public TestClass() { }

public void GetValue(string value) {

return value;

}

}

}

使用示例:

TestClass obj = new TestClass();

//获取类型,实际上这里也可以直接用typeof来获取类型

Type t = Type.GetType(“TestSpace.TestClass”);

//创建代理,传入类型、创建代理的对象以及方法名称

TestDelegate method = (TestDelegate)Delegate.C reateDelegate(t,obj,”GetValue”);

String returnValue = method(“hello”);

到这里,我们简单的讲述了反射的作用以及一些基本的用法,还有很多方面没有涉及到,有兴趣的朋友可以参考MSDN。

很奇怪,很多人都不愿看MSDN,其实你想要的答案,99%都可以在里面找到。

c#中的反射

c#中的反射作者: YAOTIEBING

反射的概述

反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等,。System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码

和反射相关的命名空间(我们就是通过这几个命名空间访问反射信息):

System.Reflection.MemberInfo

System.Reflection.EventInfo

System.Reflection.FieldInfo

System.Reflection.MethodBase

System.Reflection.ConstructorInfo

System.Reflection.MethodInfo

System.Reflection.PropertyInfo

System.Type

System.Reflection.Assembly

反射的层次模型:

注:层次间都是一对多的关系

反射的作用:

1.可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型

2.应用程序需要在运行时从某个特定的程序集中载入一个特定的类型,以便实现某个任务时可以用到反射。

3.反射主要应用与类库,这些类库需要知道一个类型的定义,以便提供更多的功能。

应用要点:

1.现实应用程序中很少有应用程序需要使用反射类型

2.使用反射动态绑定需要牺牲性能

3.有些元数据信息是不能通过反射获取的

4.某些反射类型是专门为那些clr开发编译器的开发使用的,所以你要意识到不是所有的反射类型都是适合每个人的。

反射appDomain的程序集

当你需要反射AppDomain中包含的所有程序集,示例如下:

static void Main

{

//通过GetAssemblies调用appDomain的所有程序集

foreach (Assembly assem in Appdomain.currentDomain.GetAssemblies())

{

//反射当前程序集的信息

reflector.ReflectOnAssembly(assem)

}

}

说明:调用AppDomain对象的GetAssemblies方法将返回一个由System.Reflection.Assembly元

素组成的数组。

反射单个程序集

上面的方法讲的是反射AppDomain的所有程序集,我们可以显示的调用其中的一个程序集,system.reflecton.assembly类型提供了下面三种方法:

1. Load 方法:极力推荐的一种方法,Load 方法带有一个程序集标志并载入它,Load 将引起CLR 把策略应用到程序集上,先后在全局程序集缓冲区,应用程序基目录和私有路径下面查找该程序集,如果找不到该程序集系统抛出异常

2.LoadFrom方法:传递一个程序集文件的路径名(包括扩展名),CLR会载入您指定的这个程序集,传递的这个参数不能包含任何关于版本号的信息,区域性,和公钥信息,如果在指定路径找不到程序集抛出异常。

3.LoadWithPartialName:永远不要使用这个方法,因为应用程序不能确定再在载入的程序集的版本。该方法的唯一用途是帮助那些在.Net框架的测试环节使用.net 框架提供的某种行为的客户,这个方法将最终被抛弃不用。

注意:system.AppDomain也提供了一种Load 方法,他和Assembly的静态Load 方法不一样,AppDomain的load 方法是一种实例方法,返回的是一个对程序集的引用,Assembly的静态Load 方发将程序集按值封装发回给发出调用的AppDomain.尽量避免使用AppDomain的load 方法

利用反射获取类型信息

前面讲完了关于程序集的反射,下面在讲一下反射层次模型中的第三个层次,类型反射

一个简单的利用反射获取类型信息的例子:

using system;

using sytem.reflection;

class reflecting

{

static void Main(string[]args)

{

reflecting reflect=new reflecting();//定义一个新的自身类

//调用一个reflecting.exe程序集

assembly myAssembly =assembly.loadfrom(“reflecting.exe”) reflect.getreflectioninfo(myAssembly);//获取反射信息

}

//定义一个获取反射内容的方法

void getreflectioninfo(assembly myassembly)

{

type[] typearr=myassemby.Gettypes();//获取类型

foreach (type type in typearr)//针对每个类型获取详细信息

{

//获取类型的结构信息

constructorinfo[] myconstructors=type.GetConstructors;

//获取类型的字段信息

fieldinfo[] myfields=type.GetFiedls()

//获取方法信息

MethodInfomyMethodInfo=type.GetMethods();

//获取属性信息

propertyInfo[] myproperties=type.GetProperties

//获取事件信息

EventInfo[] Myevents=type.GetEvents;

}

}

}

其它几种获取type对象的方法:

1.System.type参数为字符串类型,该字符串必须指定类型的完整名称(包括其命名空间) 2.System.type提供了两个实例方法:GetNestedType,GetNestedTypes

3.Syetem.Reflection.Assembly类型提供的实例方法是:GetType,GetTypes,GetExporedTypes

4.System.Reflection.Moudle提供了这些实例方法:GetType,GetTypes,FindTypes

设置反射类型的成员

反射类型的成员就是反射层次模型中最下面的一层数据。我们可以通过type对象的GetMembers方法取得一个类型的成员。如果我们使用的是不带参数的GetMembers,它只返回该类型的公共定义的静态变量和实例成员,我们也可以通过使用带参数的GetMembers通过参数设置来返回指定的类型成员。具体参数参考msdn中system.reflection.bindingflags枚举类型的详细说明。

例如:

//设置需要返回的类型的成员内容

bindingFlags bf=bingdingFlags.DeclaredOnly|bingdingFlags.Nonpublic|BingdingFlags.Public;

foreach (MemberInfo mi intt.getmembers(bf))

{

writeline(mi.membertype) //输出指定的类型成员

}

通过反射创建类型的实例

通过反射可以获取程序集的类型,我们就可以根据获得的程序集类型来创建该类型新的实例,这也是前面提到的在运行时创建对象实现晚绑定的功能

我们可以通过下面的几个方法实现:

1.System.Activator的CreateInstance方法。该方法返回新对象的引用。具体使用方法参见msnd

2.System.Activator的createInstanceFrom与上一个方法类似,不过需要指定类型及其程序集

3.System.Appdomain的方法:createInstance,CreateInstanceAndUnwrap,CreateInstranceFrom

和CreateInstraceFromAndUnwrap

4.System.type的InvokeMember实例方法:这个方法返回一个与传入参数相符的构造函数,并构

造该类型。

5.System.reflection.constructinfo的Invoke实例方法

反射类型的接口

如果你想要获得一个类型继承的所有接口集合,可以调用Type的FindInterfacesGetInterface或者GetInterfaces。所有这些方法只能返回该类型直接继承的接口,他们不会返回从一个接口继承下来的

接口。要想返回接口的基础接口必须再次调用上述方法。

反射的性能:

使用反射来调用类型或者触发方法,或者访问一个字段或者属性时clr需要做更多的工作:校验参数,检查权限等等,所以速度是非常慢的。所以尽量不要使用反射进行编程,对于打算编写一个动态构造

类型(晚绑定)的应用程序,可以采取以下的几种方式进行代替:

1.通过类的继承关系。让该类型从一个编译时可知的基础类型派生出来,在运行时生成该类型的一

个实例,将对其的引用放到其基础类型的一个变量中,然后调用该基础类型的虚方法。

2.通过接口实现。在运行时,构建该类型的一个实例,将对其的引用放到其接口类型的一个变量中,然后调用该接口定义的虚方法。

3.通过委托实现。让该类型实现一个方法,其名称和原型都与一个在编译时就已知的委托相符。在

运行时先构造该类型的实例,然后在用该方法的对象及名称构造出该委托的实例,接着通过委托调用

你想要的方法。这个方法相对与前面两个方法所作的工作要多一些,效率更低一些

再比较动态调用代码

上次在MSDN网站看到一个比较动态调用代码的文章,用到的例子似乎比较复杂,为计算一个复杂多

项式子而将其中部分割开,动态形成代码段来被循环调用。详细看.NET下几种动态生成代码方式比较。今天看到微软C#团队的Eric Gunnerson写的另外一篇关于动态调用代码性能的比较文章,为了说明

结果和计算的准确性,减少由于函数复杂而受编译优化的影响,他使用了一个极为简单的例子:

输入一个参数,然后返回这个参数加一,这么简单的函数,优化和没有优化的代码应该不会有差别的了。

public class Processor

{

public int Process(int value)

{

return value +1;

}

}

而对比方面,除了上次那几种外,还加了代理方式调用来进行比较。

1. 直接调用

int value = processor.Process(i);

2. 用反射机制,Type.InvokeMember()调用。

Type t =typeof(Processor);

int value =

(int) t.InvokeMember(

"Process",

BindingFlags.Instance | BindingFlags.Public |

BindingFlags.InvokeMethod,

null, processor, new object[] {i});

3. 通过一个接口

public interface IProcessor

{

int Process(int value);

}

4. 通过一个委托Delegate

public delegate int ProcessCaller(int value);

ProcessCaller processCaller =new ProcessCaller(processor.Process);

int value = processCaller(i);

5. 也通过反射机制建立委托再动态调用

Type delegateType = CreateCustomDelegate(methodInfo);

Delegate p = Delegate.CreateDelegate(delegateType,

process, "Process");

int value = (int) p.DynamicInvoke(new object[] {i});

6. 元编程方式

对于2和5由于使用反射机制,不可避免需要建立中间的临时对象去传递参数,将参数和返回值装箱等操作,因此花费了大量的机器时间。

下面是运行的某次结果(循环100000次):

结论:

1.直接调用速度最快是肯定的。

2.接口调用比元编程速度快,而元编程又比委托方式快,但微软相信Whidbey会极大优化委托调用方式,从而使它接近接口调用的水平。

3.直接用Type的反射机制是速度最慢的,比用反射机制建立委托来动态调用还慢。

4.直接使用委托不够灵活,有时候需要用反射机制建立委托来调用,但会减低性能,希望Whidbey优化了委托的性能后这种情况可以改善,灵活是需要牺牲性能的。

相关代码

CN.Text开发笔记—利用反射将数据读入实体类

在实际开发中,我们经常需要从数据库中读取数据并赋值给实体类的相应属性。在.Text的DataDTOProvider中存在大量这样的代码, 比如:

public Role[] GetRoles(int BlogID)

{

System.Collections.ArrayList al=new System.Collections.ArrayList();

IDataReader reader=DbProvider.Instance().GetRoles(BlogID);

try

{

while(reader.Read())

{

Role role=new Role();

if(reader["RoleID"]!=DBNull.Value)

{

role.RoleID=(int)reader["RoleID"];

}

if(reader["Name"]!=DBNull.Value)

{

https://www.360docs.net/doc/169540482.html,=(string)reader["Name"];

}

if(reader["Description"]!=DBNull.Value)

{

role.Description=(string)reader["Description"];

}

//ReaderToObject(reader,role);

al.Add(role);

}

}

finally

{

reader.Close();

}

return (Role[])al.ToArray(typeof(Role));

}

对于上面的代码,我觉得有几点不优雅之处:

1、每次对Role的属性进行赋值时,都要检查reader的值是否为DBNull,出现了很多重复代码

2、每次对Role的属性进行赋值时,都要进行类型转换, 而Role属性的类型是已知的,是不是可以自动完成这样的转换?

3、每次对Role的属性进行赋值时,都要进行Role属性与数据库字段的对应。如果我们在设计数据

库与实体类时,保证数据库字段与实体类属性采用同样的名称,那利用反射,我们可以通过代码自动进行属性与字段的对应。即使数据库字段与属性不同名,我们也可以通过更改查询语句,来做到这一点。

是不是可以对上面的代码进行改进,使代码变得更优雅?那优雅的代码应该是什么样的呢?如果我们用上面代码中注释的代码行ReaderToObject(reader,role);取代它之前的对Role属性进行赋值的语句,是不是会使代码变得更优雅?ReaderToObject的作用就是自动完成将reader中的值写入到role中对应的属性中(前提是reader中的字段与role中对应的属性具有相同的名称)。现在我们的任务就是实现ReaderToObject, 有了强大的武器—Reflection,我们的任务就变得很轻松, 也不多说了,下面的代码是我的实现方法:

private void ReaderToObject(IDataReader reader,object targetObj)

{

for(int i=0;i

{

System.Reflection.PropertyInfo propertyInfo=targetObj.GetType().GetProperty(reader.G etName(i));

if(propertyInfo!=null)

{

if(reader.GetValue(i)!=DBNull.Value)

{

propertyInfo.SetValue(targetObj,reader.GetValue(i),null);

}

}

}

}

ReaderToObject可以将reader中的数据读入到任何实体类中。数据库字段与实体类属性的映射原则是名称相同。当然,我们也可以通过配置文件来进行两者映射。

个人想法:在开发中,面对那么多设计思想和设计模式,常常令人感到迷惑,当你把更多的精力放在选用哪个设计思想或设计模式时,我觉得不要忽略很重要的一点,尽可能地减少重复代码,只要我们能有效地减少重复代码,我们采用的方法就是好方法,而不要太在乎采用了哪种模式。就像独孤九剑,正因为摆脱了传统招式的束缚,才能战无不胜!

.NET Quick Tip: Runtime Type Conversion for Enumeration

先来看这段NUnit测试代码,我们希望用反射机制在运行时访问一个对象的枚举类型的域或属性:

[TestFixture]

public class PaymentInfo

{

public enum PaymentType

{

Cash, CreditCard, Check

}

public PaymentType Type;

public void Test()

{

PaymentInfo payment = new PaymentInfo();

payment.Type = PaymentType.Cash;

System.Reflection.FieldInfoenumField = GetType().GetField("Type");

int paymentTypeInt32;

paymentTypeInt32 = (int)enumField.GetValue(payment);

Assert.AreEqual((int)PaymentType.Cash, paymentTypeInt32);

enumField.SetValue(payment, paymentTypeInt32);

Assert.AreEqual(PaymentType.Cash, payment.Type);

}

}

在这个测试中,使之通过的办法其实非常简单:把划线部分强制转换为枚举类型即可,如:(PaymentType)paymentTypeInt32。可问题是:在运行时如何动态转换类型呢?比如说我在写ElegantDAL 的时候,需要将从数据库读出的一个类型为int的数值写入到要返回的对象的一个枚举型字段中,此时我只有fieldInfo、columnValue和resultObject,然而写成fieldInfo.SetValue(resultObject, columnValue)就会出

最新光的反射知识点总结

精品文档 光现象知识点总结 一.光的色散 1 ?光源:自身能发光的物体叫做光源。常见的不是光源的物体有月亮,电影荧幕,钻石等。 2.光的色散:白光经过三棱镜可以分解为红,橙,黄,绿,蓝,靛,紫等多种色光,首先用实验 进行研究的科学家是牛顿。应用有:彩虹,吹肥皂泡,其他经过折射呈现七彩颜色的现象。 3.色光的吸收和反射: 透明物体:透过相同颜色,吸收不同颜色。不透明物体:反射相同颜色,吸收不同颜色。白色不透明物体:可以反射所有色光。黑色不透明物体:可以吸收所有色光。 光的三原色:红,绿,蓝,复合后中间为白光颜料的三原色:红,黄,蓝,复合后中间为黑色色光的复合与颜料的复合结果不一样。 4.光具有能量:光能可以转化为其他各种能量,如电能、内能、化学能。 二.人眼看不见的光 1. 红外线:红外线能使被照射的物体发热,具有热效应。太阳光中大部分的热都是以红外线的形式 传到地球的。 2. 3.紫外线:能使荧光物质发光。主要应用于杀菌,验钞等。过量紫外线照射对人体有害,太阳的紫 外线主要靠大气层中的臭氧层来吸收。 三.光的直线传播 1. 2.定义:光在均匀介质中是沿直线传播的。主要应用有影子,小孔成像,日食,月食,射击瞄准等。 3.小孔成像:光屏上成倒立的实象。像的形状与小孔形状无关。女口:夏天树阴处的光斑都是圆 形的,和树叶中间缝隙的形状没有关系。 4.光速:真空中:3X 10 m/s,或3X 10 km/s 真空中光速最快〉空气中>液体中〉固体中 光年是长度单位,数值为9.46 X 10 km 四. 距离相等。(平面镜所成的像与物体关于平面镜成轴对称,且不能呈现在光屏上。) 概括:虚像,正立,等大,等距,垂直,对称。 2.凸面镜:对光线有发散作用,可以扩大视野。 3.凹面镜:对光线有会聚作用,可以集中光能。 五.光的反射 1. 2.法线,入射角,反射角的解释: 法线:过入射点和镜面垂直的直线。入射角:入射光线和法线的夹角。反射角:反射光线和法线的夹角。(注:切忌当作和镜面的夹角) 3.光的反射定律:光反射时,反射光线,入射光线和法线在同一平面内,反射光线、入射光线精品文档 精品文档 分居法线两侧,反射角等于入射角。 4 ?光的反射和平面镜成像应用:所有镜子,万花孔,潜望镜,反射式望远镜,牙医反光镜,平静 的水面等。

初二物理经典 光的反射(基础)知识讲解

光的反射(基础) 【学习目标】 1.了解光在物体表面可以发生反射; 2.掌握光的反射定律,并能用光的反射定律解决实际问题; 3.理解在反射现象中光路的可逆性; 4.知道镜面反射和漫反射的区别。 【要点梳理】 要点一、光的反射 1、光的反射:光射向物体表面时,有一部分光会被物体表面反射回来,这种现象叫做光的反射。 2、基本概念: 一点入射点光线射到镜面上的点,用“O”表示。 三线法线通过入射点,垂直于镜面的直线,用虚 线表示如图ON 入射光线射到反射面上的光线,如图AO。 反射光线被反射面反射后的光线,如图中的OB。 两角入射角入射光线与法线的夹角,如图所示“i” 反射角反射光线与法线的夹角,如图所示“r”。 1、入射角和反射角分别是指,入射光线和法线的夹角,反射光线和法线的夹角。不能误认为是光线和平面镜的夹角。 2、法线是过入射点垂直平面镜的虚线,是为了研究问题方便引入的。 3、入射光线和反射光线都有方向,所以在描述的时候要注意按光的传播方向叙述字母。如上图中:入射光线AO,反射光线OB。 4、发生反射现象时,光又反射回原介质中,所以光的传播速度不变,传播方向发生改变。 5、我们能够看到不发光的物体是因为光的反射,反射光射入了我们的眼睛。如下图所示: 要点二、【高清课堂:《光的反射》】探究光反射时的规律 1、实验探究 (1)提出问题:光在反射时遵循什么规律?(反射光沿什么方向射出) (2)实验器材:激光笔、白色硬纸板、平面镜、量角器等。 (3)实验步骤: ①把一个平面镜放在水平桌面上,再把一张纸板ENF竖直地立在平面镜上,纸板上的直线ON垂直于镜面,如图甲所示:

②在纸板上画出两条入射光线,用激光笔沿入射光线射入,找到对应的反射光线。 ③观察两组反射光线和入射光线,猜想反射光线和入射光线的位置关系: a、反射光线、入射光线和镜面的夹角相等; b、反射光线和入射光线关于法线对称。 ④把纸板NOF向前折或向后折如图乙,观察还能看到反射光线吗? ⑤取下纸板,用量角器测量角i和r。 表格: 实验次序 角 i 角 r 第一次4 5o 45o 第二次6 0o 60o (4 ①反射光线与入射光线、法线在同一平面内——三线共面 ②反射光线和入射光线分居法线的两侧——法线居中 ③反射角等于入射角——两角相等 2、反射现象中,光路是可逆的。 让光逆着原来反射光线的方向射到平面镜,那么,它被反射后逆着原来的入射光的方向射出。如下图所示: 要点诠释: 1、把纸板NOF向前折或向后折,观察不到反射光线,证明三线共面;通过测量比较入射角和反射角的大小关系可以证明反射角等于入射角;反射光线和入射光线对称,并且对称还意味着分居法线两侧。 2、反射定律是用来确定反射光线位置的,对应每一条确定的入射光线而言,反射光线是唯一的。 3、如果光线垂直射向平面镜,入射角为0o,反射角为0o,入射光线、反射光线、法线重合。 要点三、镜面反射和漫反射 1、镜面反射:光线照到平滑的表面上(如:平静的水面、抛光的金属面、平面镜),发生镜面反射。这时入射光平行,反射光也平行,其他方向没有反射光。 2、漫反射:光线照到凸凹不平的表面上,发生漫反射。凸凹不平的表面会把光线向四面八方反射。

2019中考物理知识点:光的反射分类

2019中考物理知识点:光的反射分类 各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢 花开为了最后的果实,初三也是如此,小编整理了物理知识点:光的反射分类内容,以供大家参考。 中考物理知识点:光的反射分类 1 光的折射:光从一种介质射入另一种介质时,传播方向一般会改变这现象。 2 折射角:折射光线与法线之间的夹角。 3 折射定律:1折射光线、入射光线和法线在同一平面上;2折射光线和入射光线分居在法线两侧;3当光由空气射入水或其它介质时,折射角小于入射角,当光由水或其它介质射入空气时,折射角大于入射角。4当光线垂直入射到界面上时,传播方向不发生改变。

4 注意:折射角随着入射角的增大而增大,随着入射角的减小而减小。在折射中光路也是可逆的。 5 凸透镜:中间厚边缘薄的透镜是凸透镜。 凹透镜:中间薄边缘厚的透镜是凹透镜。 6 透镜的主光轴:通过两个球面球心的直线。 7 光心:通过它后光线传播方向不改变的点叫光心。 8 凸透镜的作用:对光线会聚所以也叫会聚透镜。 凸透镜的焦点:平行光线经凸透镜折射后,折射光线就会聚在主光轴上的焦点。这一点就是凸透镜的焦点。 9 凹透镜的作用:对光线发散。 10 平行光经凸透镜折射后会聚焦点,反过来从焦点发过焦点的光折射后平行平行光经凹透镜折射后折射光的反向延长线过虚焦点,则入射光的延长线过虚焦点的,折射后一定是平行主光轴

的光线。 11 照相机的原理:u>2f f 物体到凸透镜的距离大于2倍焦距时,能成倒立缩小的实像。 12 幻灯机的原理: f 物体到凸透镜的距离在焦距和2倍焦距之间时,成放大倒立的实像。 13 放大镜的原理:u 物体到凸透镜的距离小于焦距时,成放大正立的虚像。 14 照相机的结构:a.胶片:感光显影后变为照相底片。b.调焦环:调节镜头到胶片的距离。c.光圈:控制镜头的进光量。d.快门:控制曝光时间。 15 实像是实际光线会聚成的可以形成在光屏上,虚像不是光线形成的,不能形成在光屏上。 16 投影器与幻灯机的区别:投影器用两块大塑料螺纹透镜作聚光镜,并用一块平面镜把像反射到屏幕上。 17 显微镜的镜筒上有一目镜,和一个物镜。它的放大倍数比放大镜大许多。

中考物理光的反射知识点总结

2019年中考物理光的反射知识点总结 光的基本知识点 1、光源:能够发光的物体叫光源 2、光在均匀介质中是沿直线传播的 大气层是不均匀的,当光从大气层外射到地面时,光线发了了弯折 3、光速 光在不同物质中传播的速度一般不同,真空中最快, 光在真空中的传播速度:C=3×10的8次方m/s,在空气中的速度接近于这个速度,水中的速度为3/4C,玻璃中为2/3C 4、光直线传播的应用 可解释许多光学现象:激光准直,影子的形成,月食、日食的形成、小孔成像等 5、光线 光线:表示光传播方向的直线,即沿光的传播路线画一直线,并在直线上画上箭头表示光的传播方向(光线是假想的,实际并不存在) 实像与虚像的区别 实像是实际光线会聚而成的,可以用屏接到,当然也能用眼看到。虚像不是由实际光线会聚成的,而是实际光线反向延长线相交而成的,只能用眼看到,不能用屏接收。 平面镜成像的特点

平面镜成像的特点 (1)成的像是正立的虚像 (2)像和物的大小 (3)像和物的连线与镜面垂直,像和物到镜的距离相等 理解:平面镜所成的像与物是以镜面为轴的对称图形 光的反射的定义 光从一种介质射向另一种介质的交界面时,一部分光返回原来介质中,使光的传播方向发生了改变,这种现象称为光的反射。 两种反射现象: (1)镜面反射:平行光线经界面反射后沿某一方向平行射出,只能在某一方向接收到反射光线 (2)漫反射:平行光经界面反射后向各个不同的方向反射出去,即在各个不同的方向都能接收到反射光线 注意:无论是镜面反射,还是漫反射都遵循光的反射定律 光的反射定律 反射光线与入射光线、法线在同一平面上;反射光线和入射光线分居在法线的两侧;反射角等于入射角 可归纳为:“三线一面,两线分居,两角相等” 理解: (1)由入射光线决定反射光线,叙述时要“反”字当头 (2)发生反射的条件:两种介质的交界处;发生处:入射点;结

光的反射知识点总结

光现象知识点总结 一.光的色散 1.光源:自身能发光的物体叫做光源。常见的不是光源的物体有月亮,电影荧幕,钻石等。2.光的色散:白光经过三棱镜可以分解为红,橙,黄,绿,蓝,靛,紫等多种色光,首先用实验进行研究的科学家是牛顿。应用有:彩虹,吹肥皂泡,其他经过折射呈现七彩颜色的现象。3.色光的吸收和反射: 透明物体:透过相同颜色,吸收不同颜色。 不透明物体:反射相同颜色,吸收不同颜色。 白色不透明物体:可以反射所有色光。 黑色不透明物体:可以吸收所有色光。 光的三原色:红,绿,蓝,复合后中间为白光 颜料的三原色:红,黄,蓝,复合后中间为黑色 色光的复合及颜料的复合结果不一样。 4.光具有能量:光能可以转化为其他各种能量,如电能、内能、化学能。 二.人眼看不见的光 1.红外线:红外线能使被照射的物体发热,具有热效应。太阳光中大部分的热都是以红外线的形式传到地球的。 2.紫外线:能使荧光物质发光。主要应用于杀菌,验钞等。过量紫外线照射对人体有害,太阳的紫外线主要靠大气层中的臭氧层来吸收。 三.光的直线传播 1.定义:光在均匀介质中是沿直线传播的。主要应用有影子,小孔成像,日食,月食,射击瞄准等。 2.小孔成像:光屏上成倒立的实象。像的形状及小孔形状无关。如:夏天树阴处的光斑都是圆形的,和树叶中间缝隙的形状没有关系。 3.光速:真空中:3×10 m/s,或3×10 km/s 真空中光速最快>空气中>液体中>固体中 光年是长度单位,数值为9.46×10 km 四.平面镜 1.平面镜成像特点:平面镜所成的像是虚象;像的大小及物体的大小相等;像及物到平面镜的距离相等。(平面镜所成的像及物体关于平面镜成轴对称,且不能呈现在光屏上。) 概括:虚像,正立,等大,等距,垂直,对称。 2.凸面镜:对光线有发散作用,可以扩大视野。 3.凹面镜:对光线有会聚作用,可以集中光能。 五.光的反射 1.法线,入射角,反射角的解释: 法线:过入射点和镜面垂直的直线。入射角:入射光线和法线的夹角。反射角:反射光线和法线的夹角。(注:切忌当作和镜面的夹角) 2.光的反射定律:光反射时,反射光线,入射光线和法线在同一平面内,反射光线、入射光线分居法线两侧,反射角等于入射角。 3.光的反射和平面镜成像应用:所有镜子,万花孔,潜望镜,反射式望远镜,牙医反光镜,平静的水面等。 4.镜面反射和漫反射都遵循光的反射定律。 六.本章其他相关知识点: 1.看到物体一定是有光从这个物体上出来进入我们的眼睛,这个光可能是物体自己发出的也可能是物体反射或折射的,看到物体的颜色是由于物体反射了这种颜色的光,其他颜色的光被吸收了。

物理光的反射知识点总结

物理光的反射知识点总结 物理光的反射知识点总结范文 一、光的反射 1、光源:能够发光的物体叫光源 2、介质:光在均匀介质中是沿直线传播的,大气层是不均匀的,当光从大气层外射到地面时,光线发了了弯折 3、光速:光在不同物质中传播的速度一般不同,真空中最快, 光在真空中的传播速度:c=3×108m/s,在空气中的速度接近于这个速度,水中的速度为3/4c,玻璃中为2/3c 4、光直线传播的应用:可解释许多光学现象:激光准直,影子的形成,月食、日食的形成、小孔成像等 5、光线:光线表示光传播方向的直线,即沿光的传播路线画一直线,并在直线上画上箭头表示光的传播方向(光线是假想的,实际并不存在) 6、光的反射:光从一种介质射向另一种介质的`交界面时,一部分光返回原来介质中,使光的传播方向发生了改变,这种现象称为光的反射 7、光的反射定律 反射光线与入射光线、法线在同一平面上;反射光线和入射光线分居在法线的两侧;反射角等于入射角.可归纳为:“三线一面,两线分居,两角相等” 理解: (1)由入射光线决定反射光线,叙述时要“反”字当头

(2)发生反射的条件:两种介质的交界处;发生处:入射点;结果:返回原介质中 (3)反射角随入射角的增大而增大,减小而减小,当入射角为零时,反射角也变为零度 8、两种反射现象 (1)镜面反射:平行光线经界面反射后沿某一方向平行射出,只能在某一方向接收到反射光线 (2)漫反射:平行光经界面反射后向各个不同的方向反射出去,即在各个不同的方向都能接收到反射光线 注意:无论是镜面反射,还是漫反射都遵循光的反射定律 9、在光的反射中光路可逆 10、平面镜对光的作用 (1)成像 (2)改变光的传播方向 11、平面镜成像的特点 (1)成的像是正立的虚像 (2)像和物的大小 (3)像和物的连线与镜面垂直,像和物到镜的距离相等 理解:平面镜所成的像与物是以镜面为轴的对称图形 12、实像与虚像的区别 实像是实际光线会聚而成的,可以用屏接到,当然也能用眼看到.虚像不是由实际光线会聚成的,而是实际光线反向延长线相交而成的,只能用眼看到,不能用屏接收. 13、平面镜的应用

光的反射(基础)知识讲解

光的反射(基础) 撰稿:史会娜审稿:蒙阿妮 【学习目标】 1.了解光在物体表面可以发生反射; 2.掌握光的反射定律,并能用光的反射定律解决实际问题; 3.理解在反射现象中光路的可逆性; 4.知道镜面反射和漫反射的区别。 【要点梳理】 # 要点一、光的反射 1、光的反射:光射向物体表面时,有一部分光会被物体表面反射回来,这种现象叫做光的反射。一点入射点光线射到镜面上的点,用“O”表示。 , 三线法线通过入射点,垂直于镜面的直线,用虚线表示如图ON 入射光线射到反射面上的光线,如图AO。 反射光线 被反射面反射后的光线,如图中的OB。 两角入射角| 入射光线与法线的夹角,如图所示“i” 反射角 反射光线与法线的夹角,如图所示“r”。 1、、 2、入射角和反射角分别是指,入射光线和法线的夹角,反射光线和法线的夹角。不能误认为是光线和平面镜的夹角。 3、法线是过入射点垂直平面镜的虚线,是为了研究问题方便引入的。 4、入射光线和反射光线都有方向,所以在描述的时候要注意按光的传播方向叙述字母。如上图中:入射光线AO,反射光线OB。 5、发生反射现象时,光又反射回原介质中,所以光的传播速度不变,传播方向发生改变。 6、我们能够看到不发光的物体是因为光的反射,反射光射入了我们的眼睛。如下图所示: ] 要点二、【高清课堂:《光的反射》】探究光反射时的规律 1、实验探究 (1)提出问题:光在反射时遵循什么规律(反射光沿什么方向射出)

(2)实验器材:激光笔、白色硬纸板、平面镜、量角器等。 (3)实验步骤: ①把一个平面镜放在水平桌面上,再把一张纸板ENF竖直地立在平面镜上,纸板上的直线ON垂直于镜《 面,如图甲所示: ②在纸板上画出两条入射光线,用激光笔沿入射光线射入,找到对应的反射光线。 ③观察两组反射光线和入射光线,猜想反射光线和入射光线的位置关系: a、反射光线、入射光线和镜面的夹角相等; b、反射光线和入射光线关于法线对称。 " ④把纸板NOF向前折或向后折如图乙,观察还能看到反射光线吗 ⑤取下纸板,用量角器测量角i和r。 表格: 实验次 序 角 i 角 r 第一次 ~ 45 o 45 o 第二次60 o 60 o (4)结论: ①反射光线与入射光线、法线在同一平面内——三线共面 ②反射光线和入射光线分居法线的两侧——法线居中 ^ ③反射角等于入射角——两角相等 2、反射现象中,光路是可逆的。 让光逆着原来反射光线的方向射到平面镜,那么,它被反射后逆着原来的入射光的方向射出。如下图所示:

光的反射基础知识讲解

光的反射基础知识讲解集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

光的反射(基础) 撰稿:史会娜审稿:蒙阿妮 【学习目标】 1.了解光在物体表面可以发生反射; 2.掌握光的反射定律,并能用光的反射定律解决实际问题; 3.理解在反射现象中光路的可逆性; 4.知道镜面反射和漫反射的区别。 【要点梳理】 要点一、光的反射 1、光的反射:光射向物体表面时,有一部分光会被物体表面反射回来,这种现象叫做光的反射。 2、基本概念: 1、入射角和反射角分别是指,入射光线和法线的夹角,反射光线和法线的夹角。 不能误认为是光线和 平面镜的夹角。 2、法线是过入射点垂直平面镜的虚线,是为了研究问题方便引入的。 3、入射光线和反射光线都有方向,所以在描述的时候要注意按光的传播方向叙述 字母。如上图中:入

射光线AO,反射光线OB。 4、发生反射现象时,光又反射回原介质中,所以光的传播速度不变,传播方向发 生改变。 5、我们能够看到不发光的物体是因为光的反射,反射光射入了我们的眼睛。如下 图所示: 要点二、【高清课堂:《光的反射》】探究光反射时的规律 1、实验探究 (1)提出问题:光在反射时遵循什么规律?(反射光沿什么方向射出) (2)实验器材:激光笔、白色硬纸板、平面镜、量角器等。 (3)实验步骤: ①把一个平面镜放在水平桌面上,再把一张纸板ENF竖直地立在平面镜上,纸板上的直线ON垂直于镜 面,如图甲所示: ②在纸板上画出两条入射光线,用激光笔沿入射光线射入,找到对应的反射光线。 ③观察两组反射光线和入射光线,猜想反射光线和入射光线的位置关系: a、反射光线、入射光线和镜面的夹角相等; b、反射光线和入射光线关于法线对称。 ④把纸板NOF向前折或向后折如图乙,观察还能看到反射光线吗? ⑤取下纸板,用量角器测量角i和r。 表格:

光的反射知识点例题习题

光的反射知识点例题习 题 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

课 题 光的反射 教学目标 了解光的反射现象;认识光反射规律,了解法线、入射角和反射角的含义;理解反射现象中光路的可逆性;能区分镜面反射和漫反射; 重点、难点 掌握光的反射定律;区分镜面反射和漫反射; 教 学 内 容 一、知识点梳理复习 (一)光的反射 光射到物体表面上时,有一部分光会被物体表面反射回来,这种现象叫做光的反射。 “一点”、“三线”、“二角” “一点” 入射点O :光线射到镜面上的点。 入射光线AO 法线:NO (法线为通过入射点,并垂直..于反射面的虚线..。) 反射光线OB 入射角?:入射光线与法线的夹角 反射角β:反射光线与法线的夹角 (二)光的反射定律的探究 [问题] 小明在探究平面镜成像特点时,发现光射到物体表面都要发生反射。他提出了如下的问题: (1).反射光线和入射光线间有什么位置关系呢 (2).反射角和入射角间的大小关系有什么特点呢 [探究装置] 如图所示 [探究过程] (1).将鞋盒的几个面剪去,只保留相互垂直的两个面,并把一块平面镜平放在其中的一个面上,并作出法线0N ,如图所示。 (2).用激光手电筒贴着纸板沿某一角度射到O 点,经过平面镜反射后,沿着另一个方向射出,在纸板上画出入射光线和反射光线的径迹。 (3).改变入射角,重做两次,分别用另外颜色记录光的路径。 (4).用量角器量出对应的入射角和反射角。 (5).以ON 为轴,使纸板的右半部向后转动一定角度,看反射光线是否还会在纸板上出 现。 光反射时,反射光线、入射光线与法线在 同一 平面内,反射光线和入射光线分别位于法线的 两侧 ;反射角 等于 入射角。此规律即光的反射定律。 可概括为:“三线 共面 ;两线 两侧 ;两角 相等 。” 〖思考〗在光的反射定律中,能不能把“反射角等于入射角”讲成“入射角等于反射角”“三线” “二角” ? ? A B N O

优秀教案设计 光的反射

《光的反射》教案设计 大名县万堤中学董志超 一、教学目标: 1、知识和技能 (1)了解光在一些物体表面可以发生反射。 (2)认识光反射的规律,了解法线、入射角和反射角的含义。 (3)理解反射现象中光路的可逆性。 (4)了解什么是镜面反射,什么是漫反射。 2、过程和方法 (1)通过实验,观察光的反射现象。 (2)体验和感悟我们是如何看见不发光的物体的。 (3)经历探究“光反射时的规律”,用实验的方法获得反射光线、入射光线跟法线位置的关系,测量反射光线与法线、入射光线与法线的夹角,总结探究的结论,获得比较全面探究活动的体验。 (4)通过观察,理解镜面反射和漫反射的主要差异。 3、情感、态度、价值观 (1)在探究“光反射时的规律”过程中培养学生的科学态度。 (2)密切联系实际,提高科学技术应用于日常生活和社会的意识。 (3)鼓励学生积极参与探究活动。 二、教学设计思想: 本节是一节集物理现象、物理概念、物理规律于一身的课。其中光的反射规律是本节的核心,也是实施“探究式”教学的有效阵地。在授课中,教师引导学生利用“发现并提出问题—做出猜想和假设—制定计划与设计实验—解通过观察和实验等途径来收集证据——得出结论——交流与合作——提出新问题”的探究式教学过程,自己“发现”并总结出光的反射规律。 三、教学过程设计: 1、课题引入 师:光源发出的光是怎样传播的? 生:光在同一种均匀物质中是直线传播的。

师:光在传播过程中若遇到另一种物质时情况又会怎样呢? 生猜想:反射回来。 【实验探究】把玩具激光笔打开,让光斜射到平面镜上。 师:刚才的演示实验同学们观察到了什么现象? 生:光被平面镜反射到了天花板上,它改变了光的传播方向,天花板上出现一红色小光斑。 【实验探究】打开玩具激光笔,让光束垂直射到水面上,并在水槽和激光笔上方放一张白纸。 师:这次同学们又观察了什么现象? 生:一束光射到平静的水面上时,有一部分光射入了水中,有一部分光被反射了回来,因为上方的白纸上呈现了一红色光斑。 【实验探究】用一幻灯机将幻灯片的图像投射到粗糙的屏幕上。 师:同学们为什么能从墙上看到图像? 生:屏幕将幻灯机投射出来的光,反射到我们的眼睛中。 师:以上实验说明,光射到物体表面时,总有一部分光会被物体表面反射回来,这种现象叫做光的反射。 师:请同学们思考一下,我本身是不发光的,你们为什么能从不同方向看到我?电影、幻灯的幕布为什么总是用粗糙的白布来制作?为什么平面镜成的是虚像,且与物体的大小相等呢? 【设置疑问,激励思维。】 (学生思考,议论)(教师不作定论) 师:这些问题都跟光的反射有关,学习和研究了光的反射规律,这些问题也就迎刃而解了。 【板书课题】光的反射 2、新课教学 师:从上面的实验中,你是否可以总结一下,什么现象叫做光的反射? 生:光射到物体表面上时,有一部分光会被物体反射回来,这种现象叫光的反射。 师:请同学们来举一些生活中的一些现象,这些现象是属于光的反射现象。

知识讲解光的反射折射全反射

光的反射、折射、全编稿:张金虎审稿:吴嘉峰 【学习目标】 1.通过实例分析掌握光的反射定律与光的折射定律. 2.理解折射率的定义及其与光速的关系. 3.学会用光的折射、反射定律来处理有关问题. 4.知道光疏介质、光密介质、全反射、临界角的概念. 5.能判定是否发生全反射,并能分析解决有关问题. 6.了解全反射棱镜和光导纤维. 7.明确测定玻璃砖的折射率的原理. 8.知道测定玻璃砖的折射率的操作步骤. 9.会进行实验数据的处理和误差分析. 【要点梳理】 要点一、光的反射和折射 1.光的反射现象和折射现象 如图所示,当光线入射AO到两种介质的分界面上时,一部分光被反射回原来的介质,即反射光线OB,这种现象叫做光的反射.另一部分光进入第二种介质,并改变了原来的传播方向,即光线OC,这种现象叫做光的折射现象,光线OC称为折射光线.折射光线与法线的夹角称为折射角(2?). 2.反射定律 反射光线与入射光线、法线处在同一平面内,反射光线与入射光线分别位于法线的两侧;反射角等于入射角. 3.折射定律 (1)内容:折射光线跟入射光线和法线在同一平面内,折射光线和入射光线分别位于法线的两侧.入射角的正弦跟折射角的正弦成正比.即12sinsin???常数.如图所示.

也可以用sinsininr?的数学公式表达,n为比例常数.这就是光的折射定律. (2)对折射定律的理解: ①注意光线偏折的方向:如果光线从折射率(1n)小的介质射向折射率(2n)大的介质,折射光线向法线偏折,入射角大于折射角,并且随着入射角的增大(减小)折射角也会增大(减小);如果光线从折射率大的介质射向折射率小的介质,折射光线偏离法线,入射角小于折射角,并且随着入射角的增大(减小)折射角也会增大(减小). ②折射光路是可逆的,如果让光线逆着原来的折射光线射到界面上,光线就会逆着原来的人射光线发生折射,定律中的公式就变为12sin1sinn???,式中1?、2?分 别为此时的入射角和折射角. 4.折射率——公式中的n (1)定义. 实验表明,光线在不同的介质界面发生折射时.相同入射角的情况下.折射角不同.这意味着定律中的n值是与介质有关的,表格中的数据,是在光线从真空中射向介质时所测得的n值,可以看到不同介质的n值不同,表明n值与介质的光学性质有关,人们把这种性质称为介质的折射率.实际运用中我们把光从真空斜射人某种介质发生折 射时,入射角1?的正弦跟折射角2?的正弦之比。,叫做这种介质的折射率: 12sinsinn???. (2)对折射率的理解. ①折射率与光速的关系:某种介质的折射率,等于光在真空中的传播速度c跟光在 这种介质中传播速度v之比,即cnv?,单色光在折射率较大的介质中光速较小. ②折射率n是反映介质光学性质的物理量,它的大小由介质本身及人射光的频率决定,与入射角、折射角的大小无关,“折射率与sini成正比,跟sinr成反比”的说法和“折射率n跟光速”成反比的说法是错误的. 5.视深问题 (1)视深是人眼看透明物质内部某物点时像点离界面的距离.在中学阶段,一般都是沿着界面的法线方向去观察,在计算时,由于入射角很小,折 射角也很小,故有:111222sintansintan????????,这是在视深问题中经常用到的

光的反射知识点.

前程教育科学专题 ——《光的反射》知识提要及要点点拨 一、光的直线传播 1.知识提要 光源:能够发光的物体。 光的直线传播:光在同种均匀介质中沿直线传播。 光速:真空中光速是3×108m/s,其他介质中的光速都小于真空中光速。 2.要点点拨 (l)光源的特点 光源指自身能发光的物体,太阳、发光的电灯、点燃的蜡烛都是光源,有些物体本身不发光,但由于它们能反射太阳光或其它光源射出的光,好像它们也在发光一样,不要被误认为是光源,如月亮和所有行星,它们并不是物理学所指的光源。 (2)光沿直线传播的条件及例证 只有在同种、均匀、透明介质中,光才是沿直线传播的,小孔成像和不透明障碍物后影子的形成,都是光沿直线传播的例证。 (3)光速与介质有关 光在不同介质中的传播速度不同,光在真空中的传播速度最大:c=3×108m/s或c=3×105km/s。光在空气中的速度近似地等于真空中的速 速度远大于声的速度,所以,打雷时,雷声和闪电虽然同时发生,但总是先看到闪电,后听到雷声。 (4)光线 研究光的传播时,沿光的传播路线画一条直线,并在直线上画上箭头表示光的传播方向,这种表示光的传播方向的直线叫光线。光线并不是真实存在的,而是为了研究方便,假想的理想模型。 二、光的反射 1.知识提要 光的反射定律:反射光线和入射光线、法线在同一平面上;反射光线和入射光线分居法线两侧;反射角等于入射角。 漫反射:反射面凸凹不平,使得入射的平行光线向不同方向反射。 镜面反射:反射面很光滑,使得入射的平行光线成平行反射。 2.要点点拨 (1)光的反射及反射定律 反射是指光从一种介质射到另一种介质表面时,有部分光返回原介质中传播的现象。光的反射所遵循的规律称为光的反射定律,由此决定了反射光线的位置。 必须注意:①对应于一条入射光线,只有一条反射光线;②反射光线的位置是随入射光线的改变而改变的,即入射光线是“因”,反射光线是“果”,所以叙述反射定律时不能说成“入射角等于反射角”。 (2)反射现象中光路可逆 光线沿原来的反射光线的方向射到界面上,这时的反射光线定会沿原来的入射光线的方向射出去。

光的反射(提高)知识讲解

光的反射(提高) 【学习目标】 1.了解光在一些物体表面可以发生反射; 2.掌握光的反射定律,并能用光的反射定律解决实际问题; 3.理解在反射现象中光路的可逆性; 4.知道镜面反射和漫反射的区别。 【要点梳理】 要点一、光的反射 1、光的反射:光射向物体表面时,有一部分光会被物体表面反射回来,这种现象叫做光的反射。 2、基本概念: 一点入射点光线射到镜面上的点,用“O”表示。 三线法线通过入射点,垂直于镜面的直线,用虚线表 示如图ON。 入射光 线 射到反射面上的光线,如图AO。 反射光 线 被反射面反射后的光线,如图中的OB。 两角入射角入射光线与法线的夹角,用“i”表示。 反射角反射光线与法线的夹角,用“r”表示。 1、入射角和反射角分别是指:入射光线和法线的夹角,反射光线和法线的夹角。不能误认为是光线和平面镜的夹角。 2、法线是过入射点垂直平面镜的虚线,是为了研究问题方便引入的。 3、入射光线和反射光线都有方向,所以在描述的时候要注意按光的传播方向叙述字母。如上图中:入射光线AO,反射光线OB。 4、发生反射现象时,光又反射回原介质中,所以光的传播速度不变,传播方向发生改变。 5、我们能够看到不发光的物体是因为光的反射,反射光射入了我们的眼睛。如下图所示: 要点二、光的反射定律 1、反射光线与入射光线、法线在同一平面内——三线共面 2、反射光线和入射光线分居法线的两侧——法线居中 3、反射角等于入射角——两角相等 要点诠释: 1、反射定律是用来确定发射光线位置的,对应每一条确定的入射光线而言,反射光线是唯一的。 2、如果光线垂直射向平面镜,入射角为0o,反射角为0o,入射光线、反射光线、法线重合。

光的反射(基础)知识讲解

光的反射(基础) 责编:武霞 【学习目标】 1.了解光在物体表面可以发生反射; 2.掌握光的反射定律,并能用光的反射定律解决实际问题; 3.理解在反射现象中光路的可逆性; 4.知道镜面反射和漫反射的区别。 【要点梳理】 要点一、光的反射 1、光的反射:光射向物体表面时,有一部分光会被物体表面反射回来,这种现象叫做光的反射。 一点入射点光线射到镜面上的点,用“O”表示。 三线法线通过入射点,垂直于镜面的直线,用虚 线表示如图ON 入射光线射到反射面上的光线,如图AO。 反射光线被反射面反射后的光线,如图中的OB。 两角入射角入射光线与法线的夹角,如图所示“i” 反射角反射光线与法线的夹角,如图所示“r”。 1、入射角和反射角分别是指,入射光线和法线的夹角,反射光线和法线的夹角。不能误认为是光线和平面镜的夹角。 2、法线是过入射点垂直平面镜的虚线,是为了研究问题方便引入的。 3、入射光线和反射光线都有方向,所以在描述的时候要注意按光的传播方向叙述字母。如上图中:入射光线AO,反射光线OB。 4、发生反射现象时,光又反射回原介质中,所以光的传播速度不变,传播方向发生改变。 5、我们能够看到不发光的物体是因为光的反射,反射光射入了我们的眼睛。如下图所示: 要点二、【高清课堂:《光的反射》】探究光反射时的规律 1、实验探究 (1)提出问题:光在反射时遵循什么规律?(反射光沿什么方向射出) (2)实验器材:激光笔、白色硬纸板、平面镜、量角器等。 (3)实验步骤: ①把一个平面镜放在水平桌面上,再把一张纸板ENF竖直地立在平面镜上,纸板上的直线ON垂直于镜面,如图甲所示:

②在纸板上画出两条入射光线,用激光笔沿入射光线射入,找到对应的反射光线。 ③观察两组反射光线和入射光线,猜想反射光线和入射光线的位置关系: a、反射光线、入射光线和镜面的夹角相等; b、反射光线和入射光线关于法线对称。 ④把纸板NOF向前折或向后折如图乙,观察还能看到反射光线吗? ⑤取下纸板,用量角器测量角i和r。 表格: 实验次序 角 i 角 r 第一次4 5o 45o 第二次6 0o 60o (4 ①反射光线与入射光线、法线在同一平面内——三线共面 ②反射光线和入射光线分居法线的两侧——法线居中 ③反射角等于入射角——两角相等 2、反射现象中,光路是可逆的。 让光逆着原来反射光线的方向射到平面镜,那么,它被反射后逆着原来的入射光的方向射出。如下图所示: 要点诠释: 1、把纸板NOF向前折或向后折,观察不到反射光线,证明三线共面;通过测量比较入射角和反射角的大小关系可以证明反射角等于入射角;反射光线和入射光线对称,并且对称还意味着分居法线两侧。 2、反射定律是用来确定反射光线位置的,对应每一条确定的入射光线而言,反射光线是唯一的。 3、如果光线垂直射向平面镜,入射角为0o,反射角为0o,入射光线、反射光线、法线重合。 要点三、镜面反射和漫反射 1、镜面反射:光线照到平滑的表面上(如:平静的水面、抛光的金属面、平面镜),发生镜面反射。这时入射光平行,反射光也平行,其他方向没有反射光。 2、漫反射:光线照到凹凸不平的表面上,发生漫反射。凹凸不平的表面会把光线向四面八方反射。

八年级物理知识点光的反射知识点讲解

八年级物理知识点光的反射知识点讲解 小编整理了八年级物理知识点光的反射知识点讲解,希望可以帮助到大家! 物理知识点1光源:(能够)发光的物体叫光源。 21878年美国的爱迪生发明了白炽灯 3光线:表示光的传播方向的直线叫光线。 4光的传播规律:光在同一均匀透明介质中沿直线传播。 5光速:3*100000千米/秒。在水中传播速度是这速度的四分之三 在玻璃中的速度是真空中速度的三分之二 6入射点:入射光线与镜面的交点。 7法线:经入射点垂直于镜面的线。 8入射角:入射光线与法线的夹角。反射角:反射光线与法线的夹角。 9反射定律:反射光线与入射光线、法线在同一平面上;反射光线和入射光 线分居在法线两侧;反射角等于入射角。 10光路是可逆的。 11漫反射:如果镜面是凹凸不平的,那么平行光线入射后反射光线不再平 行而是射向各个方向。

镜面反射:如果镜面是光滑的,则平行光线入射后,反射光线仍然平行 12虚像:非实际光线而是光线的反向沿长线会聚而成的像。 实像:实际光线会聚而成的像叫实像。 13平面镜成像四特点:1平面镜成的像是虚像;2平面镜成的像与物体大小 相等;3镜中的像到镜面的距离与物到镜的距离相等;4像和物的连 线与镜面垂直。 14会用垂直等距和光路图两种方法找物体的像。最关键是光路图法。 15球面镜:利用球面的一部分进行反射的镜。 16凹镜:利用球面的内表面进行反射的球面镜。 凸镜:利用球面的外表面进行反射的球面镜。 17球面镜的作用:凹镜对光对光线有会聚作用。另外放在焦点的光源发出 的光经凹镜反射后,能平行射出。凸镜对光线有发散作用,但 能够扩大视野。 18凹镜的焦点:射向凹镜的平行光线经反射以后所会聚的

2019高中物理光的反射知识点光的反射和折射语文

高中物理光的反射知识点光的反射和折射 1.光的直线传播 (1)光在同一种均匀介质中沿直线传播.小孔成像,影的形成,日食和月食都是光直线传播的例证。 (2)影是光被不透光的物体挡住所形成的暗区.影可分为本 影和半影,在本影区域内完全看不到光源发出的光,在半影区域内只能看到光源的某部分发出的光.点光源只形成本影,非点光源一般会形成本影和半影.本影区域的大小与光源的 面积有关,发光面越大,本影区越小。 (3)日食和月食: 人位于月球的本影内能看到日全食,位于月球的半影内能看到日偏食,位于月球本影的延伸区域(即伪本影)能看到日环食;当月球全部进入地球的本影区域时,人可看到月全食.月球部分进入地球的本影区域时,看到的是月偏食。 2.光的反射现象 光线入射到两种介质的界面上时,其中一部分光线在原介质中改变传播方向的现象。 (1)光的反射定律: ①反射光线、入射光线和法线在同一平面内,反射光线和入射光线分居于法线两侧。②反射角等于入射角。 (2)反射定律表明,对于每一条入射光线,反射光线是唯一的,在反射现象中光路是可逆的。

3.★平面镜成像 (1)像的特点---------平面镜成的像是正立等大的虚像,像与物关于镜面为对称。 (2)光路图作法-----------根据平面镜成像的特点,在作光路图时,可以先画像,后补光路图。 (3)充分利用光路可逆-------在平面镜的计算和作图中要 充分利用光路可逆。(眼睛在某点A通过平面镜所能看到的 范围和在A点放一个点光源,该电光源发出的光经平面镜反射后照亮的范围是完全相同的。)4.光的折射 光由一种介质射入另一种介质时,在两种介质的界面上将发生光的传播方向改变的现象叫光的折射。 (2)光的折射定律 ①折射光线,入射光线和法线在同一平面内,折射光线和入射光线分居于法线两侧。 ②入射角的正弦跟折射角的正弦成正比,即sini/sinr=常数。 (3)在折射现象中,光路是可逆的。 ★5.折射率 光从真空射入某种介质时,入射角的正弦与折射角的正弦之比,叫做这种介质的折射率,折射率用n表示,即n=sini/sinr。某种介质的折射率,等于光在真空中的传播速度c跟光在这种介质中的传播速度v之比,即n=c/v,因cv,所以任何介质的折射率n都大于1.两种介质相比较,n较大的介质称为

知识讲解 光的反射、折射、全反射

光得反射、折射、全反射 【学习目标】 1.通过实例分析掌握光得反射定律与光得折射定律. 2.理解折射率得定义及其与光速得关系. 3.学会用光得折射、反射定律来处理有关问题. 4.知道光疏介质、光密介质、全反射、临界角得概念. 5.能判定就是否发生全反射,并能分析解决有关问题. 6.了解全反射棱镜与光导纤维. 7.明确测定玻璃砖得折射率得原理. 8.知道测定玻璃砖得折射率得操作步骤. 9.会进行实验数据得处理与误差分析. 【要点梳理】 要点一、光得反射与折射 1.光得反射现象与折射现象 如图所示,当光线入射到两种介质得分界面上时,一部分光被反射回原来得介质,即反射光线,这种现象叫做光得反射.另一部分光进入第二种介质,并改变了原来得传播方向,即光线,这种现象叫做光得折射现象,光线称为折射光线.折射光线与法线得夹角称为折射角(). 2.反射定律 反射光线与入射光线、法线处在同一平面内,反射光线与入射光线分别位于法线得两侧;反射角等于入射角. 3.折射定律 (1)内容:折射光线跟入射光线与法线在同一平面内,折射光线与入射光线分别位于法线得两侧.入射角得正弦跟折射角得正弦成正比.即常数.如图所示. 也可以用得数学公式表达,为比例常数.这就就是光得折射定律. (2)对折射定律得理解: ①注意光线偏折得方向:如果光线从折射率()小得介质射向折射率()大得介质,折射光线向法线偏折,入射角大于折射角,并且随着入射角得增大(减小)折射角也会增大(减小);如果光线从折射率大得介质射

向折射率小得介质,折射光线偏离法线,入射角小于折射角,并且随着入射角得增大(减小)折射角也会增大(减小). ②折射光路就是可逆得,如果让光线逆着原来得折射光线射到界面上,光线就会逆着原来得人射光线发生折射,定律中得公式就变为,式中、分别为此时得入射角与折射角. 4.折射率——公式中得 (1)定义. 实验表明,光线在不同得介质界面发生折射时.相同入射角得情况下.折射角不同.这意味着定律中得值就是与介质有关得,表格中得数据,就是在光线从真空中射向介质时所测得得值,可以瞧到不同介质得值不同,表明值与介质得光学性质有关,人们把这种性质称为介质得折射率.实际运用中我们把光从真空斜射人某种介质发生折射时,入射角得正弦跟折射角得正弦之比。,叫做这种介质得折射率:. (2)对折射率得理解. ①折射率与光速得关系:某种介质得折射率,等于光在真空中得传播速度跟光在这种介质中传播速度之比,即,单色光在折射率较大得介质中光速较小. ②折射率就是反映介质光学性质得物理量,它得大小由介质本身及人射光得频率决定,与入射角、折射角得大小无关,“折射率与成正比,跟成反比”得说法与“折射率跟光速”成反比得说法就是错误得. 5.视深问题 (1)视深就是人眼瞧透明物质内部某物点时像点离界面得距离.在中学阶段,一般都就是沿着界面得法线方向去观察,在计算时,由于入射角很小,折射角也很小,故有:,这就是在视深问题中经常用到得几个关系式. (2)当沿竖直方向瞧水中得物体时,“视深”就是实际深度得倍,为水得折射率. 6.玻璃砖对光得折射 常见得玻璃砖有半圆形玻璃砖与长方形玻璃砖.对于半圆形玻璃砖,若光线从半圆面射入,且其方向指向圆心,则其光路图如图甲所示.对于两个折射面相互平行得长方形玻璃砖,其折射光路如图乙所示,光线经过两次折射后,出射光线与入射光线得方向平行,但发生了侧移.物点通过玻璃砖亦可以成虚像.如图丙所示为其示意图. 7.折射成像得画法 应用折射定律,确定物点发出得任意两条入射光线得折射光线,即可找到折射所成得像.如图所示. 8.画光路图应注意得问题 (1)光线实际就是从哪个物体发出得;(2)就是从光密介质向光疏介质传播得还就是从光疏介质射向光密介质;(3)必要得时候还需要借助光得可逆性原理;(4)注意作图时一定要规范,光线与法线、光线

光的反射 知识点大全

1 第四章 光的传播 知识清单 1、光源:能发光的物体叫做光源。光源可分为天然光源(水母、太阳),人造光源(灯泡、火把); 月亮、钻石、镜子、影幕不是光源。 2、光在同种均匀介质中沿直线传播; 光的直线传播的应用: (1)小孔成像:像的形状与小孔的形状无关,像是倒立的实像(树阴下的光斑是太阳的像) ①小孔成像的条件:孔的大小必须远远小于孔到发光的距离及孔到光屏的距离。 ②像的大小与发光体到孔的距离和像到孔的距离有关, 发光体到小孔的距离不变,光屏远离小孔,实像增大;光凭靠近小孔,实像减小; 光屏到小孔的距离不变,发光体远离小孔,实像减小;发光体靠近小孔,实像增大。 实像:由实际光线会聚而成的像。 (2)取得直线:激光准直(挖隧道定向);整队集合;射击瞄准; (3)限制视线:坐井观天、一叶障目; (4)影的形成:影子;日食、月食(要求会作图) 3、光线:常用一条带有箭头的直线表示光的径迹和方向; 4、所有的光路都是可逆的,包括直线传播、反射、折射等。 5、真空中光速是宇宙中最快的速度;c=3×108 m/s=3×105 m/s; 6、光年:是光在一年中传播的距离,光年是长度单位; 声音在固体中传播得最快,液体中次之,气体中最慢,真空中不传播; 光在真空中传播的最快,空气中次之,透明液体、固体中最慢(二者刚好相反)。 光速远远大于声速(如先看见闪电再听见雷声;在跑100m 时,声音传播时间不能忽略不计,但光传播时间可忽略不计)。 1、当光射到物体表面时,被反射回来的现象叫做光的反射。 2、我们看见不发光的物体是因为物体反射的光进入了我们的眼睛。 3、反射定律: (1)在反射现象中,反射光线、入射光线、法线都在同一个平面内; (2)反射光线、入射光线分居法线两侧; (3)反射角等于入射角。(说成入射角等于反射角是错误的) (1)法线:过光的入射点所作的与反射面垂直的直线;(虚线) (2)入射角:入射光线与法线的夹角;(实线) (3)反射角:反射光线与法线的夹角。(实线) (4)反射角总是随入射角的变化而变化,入射角增大反射角随之增大。 (5)垂直入射时,入射角、反射角相等都等于0度。 4、光路图(要求会作): (1)、确定入(反)射点:入射光线和反射面或反射光线和反射面或入射光线和反射光线的交点即为入射(反射)点 (2)、根据法线和反射面垂直,作出法线。 (3)、根据反射角等于入射角,画出入射光线或反射光线 5、两种反射:镜面反射和漫反射。 (1)镜面反射:平行光射到光滑的反射面上时,反射光仍然被平行的反射出去; (2)漫反射:平行光射到粗糙的反射面上,光线向各个方向反射出去; (3)镜面反射和漫反射的相同点:都是反射现象,都遵守反射定律; 不同点是:反射面不同(一光滑,一粗糙),一个方向的入射光,镜面反射的反射光只射向一个方向(刺眼);而漫反射射向四面八方;(下雨天向光走走暗处,背光走要走亮处,因为积水发生镜面反射,地面发生漫反射,电影屏幕粗糙、黑板要粗糙是利用漫反射把光射向四处,黑板上“反光”是发生了镜面反射,光污染也是镜面反射) 6、潜望镜的工作原理:光的反射。 1、平面镜成像特点:①正立的虚像, ②像和物的大小相等, ③像和物关于镜面对称(轴对称图形) ④像和物对应点的连线和镜面垂直,到镜面距离相等; ⑤像和物上下相同,左右相反(镜中像的左手是人的右手, 物体远离或靠近镜面像的大小不变,像也要随着远离或靠近镜面相同距离)。 2、关于平面镜成像的实验: ①用玻璃板代替平面镜:便于观察和确定像的位置; ②刻度尺的作用:便于比较像与物到平面镜的距离关系; ③选取两段完全相同的蜡烛:为了比较像与物的大小关系; ④移去后面的蜡烛,并在所在的位置上放一光凭,则光凭上不能 接受到蜡烛烛焰的像,所以平面镜所成的像是虚像 ⑤将蜡烛远离玻璃板时,它的像的大小不变。 ⑥有3mm 和2mm 的两块玻璃板,应选择2mm 厚的玻璃板做实验,玻璃板太厚,会看到两个像。 ⑦玻璃板没有放正,倾斜放置,蜡烛与像不能完全重合。不容易找到像。 ⑧该实验在较黑暗的环境中做效果好。 3、水中倒影的形成的原因:平静的水面就好像一个平面镜,它可以成像(水中月、镜中花、水中的云,水中的鸟);对实物的每一点来说,它在水中所成的像点都与物点“等距”,树木和房屋上各点与水面的距离不同,越接近水面的点,所成像亦距水面越近,无数个点组成的像在水面上看就是倒影了。(物离水面多高,像离水面就是多远,与水的深度无关)。 4、平面镜成虚像的原因:物体射到平面镜上的光经平面镜反射后的反射光线没有会聚而是发散的,这些反射光线的反向延长线(画线时用虚线)相交成的像,不能呈现在光屏上,只能通过人眼观察到,故称为虚像(不是由实际光线会聚而成) 注意:进入眼睛的光并非来自像点,而是反射光。要求能用平面镜成像的规律(像、物关于镜面对称)和平面镜成像的原理(同一物点发出的光线经反射后,反射光的反向延长线交于像点)作光路图(作出物、像、反射光线和入 射光线); 5、球面镜:凸面镜和凹面镜 ①以球外表面为反射面叫凸面镜,以球内表面为反射面的叫凹面镜; ②凸面镜对光有发散作用,可增大视野(汽车上的观后镜,街头拐弯处的反光镜); 凹面镜对光有会聚作用(太阳灶,利用光路可逆制作手电筒的反光罩) ㈠、光的折射 1、光从一种介质斜射入另一种介质时,传播方向发生偏折。 2、光在同种不均匀的介质中传播时,光的传播方向也会发生偏折。(海市蜃楼) 3、折射角:折射光线和法线间的夹角。 ㈡、光的折射定律(看笔记) 1、在光的折射中,三线共面,法线居中。 2、垂直入射时,折射角和入射角都等于0°,光的传播方向不改变 3、折射角随入射角的增大而增大 4、当光射到两介质的分界面时,反射、折射同时发生 ㈢、光的折射现象及其应用 1、生活中与光的折射有关的例子: (1)水中的鱼的位置看起来比实际位置高一些(鱼实际在看到位置的后下方); (2)由于光的折射,池水看起来比实际的浅一些; (3)水中的人看岸上的景物的位置比实际位置高些; (4)透过厚玻璃看钢笔,笔杆好像错位了; (5)斜放在水中的筷子好像向上弯折了;(要求会作光路图) 1、太阳光通过三棱镜后,依次被分解成红、橙、黄、绿、青、蓝、紫七种颜色,这种现象叫色散; 2、白光是由各种色光混合而成的复色光; 3、天边的彩虹是光的色散现象; 4、色光的三原色是:红、绿、蓝;其它色光可由这三种色光混合而成,白光是三种色光混合而成的;世界上没有黑光; 颜料的三原色是:紫、青、黄,三原色混合是黑色; 5、透明体的颜色由它透过的色光决定(什么颜色透过什么颜色的光); 不透明体的颜色由它反射的色光决定(什么颜色反射什么颜色的光,吸收其它颜色的光,白色物体反射所有颜色的光,黑色物体吸收所有颜色的光) 例:一张白纸上画了一匹红色的马、绿色的草、红色的花、黑色的石头,现在暗室里用绿光看画,会看见黑色的马,黑色的石头,还有黑色的花在绿色的纸上,看不见草(草、纸都为绿色) 1、红外线:红外线位于红光之外,人眼看不见;红外线的主要性能是热作用强(加热);一切物体都能发射红外线,温度越高辐射的红外线越多;电视遥控器用红外线来传递信息。 2、紫外线:在光谱上位于紫光之外,人眼看不见;紫外线的主要特性是化学作用强;(消毒、杀菌)紫外线的生理作用,促进人体合成维生素D 从而吸收钙元素(小孩多晒太阳),荧光作用(验钞) 光的现象及成因 1、小孔成像---光的直线传播(包括所有的黑影) 2、湖光倒影---光的反射

相关文档
最新文档