我们首先假设光从空气进入水中,此时 n=1
用一次函数图像来表示光的传播路线,通过改变光的入射点来改变光的入射角和入射方向,并根据反射光、折射光与入射光的斜率关系来控制反射角、折射角与入射角关系,设计程序如下:function ZHEFAN; % 光的折射 光的反射set(gcf,'doublebuffer','on'); %设置图片属性,双缓存防止图闪耀axis([-2,2,-1,1]);hold on; %设置坐标轴范围(x 轴-2 到 2,y 轴-1 到 1)rectangle('Position’,[-2,—1,4,1],
'FaceColor’,[0
6]); %给图形下半部分设置成水的颜色 text(1
4,'air','color’,'r’,'fontsize',14) text(1
4,'water','color','r','fontsize’,14) %注明空气和水,并且设置字体n=1
5;t=0; %设置折射率text(0
6,['n= ',num2str(n)],'fontsize',14); %在图形上标明折射率HL=rectangle('Position',[-0
'FaceColor',[ 0
4]); %在图形上画出光源Hi=plot([0,0],[0,0
4],’b'); %设置入射光Ho=plot([0,0],[0,—1]); %设置折射光Hr=plot([0,0],[0,1],'r’); %设置反射光xlabel('请按空格停止’,
’fontsize’,14,'color’,'r'); %设置结束提示k=1;dt=0
1; %初始化 k 方便循环,设置入射光变化量while k %循环体 pause(0