matlab模拟光的反射折射

上传人:枫** 文档编号:490314242 上传时间:2023-12-15 格式:DOCX 页数:2 大小:39.07KB
返回 下载 相关 举报
matlab模拟光的反射折射_第1页
第1页 / 共2页
matlab模拟光的反射折射_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《matlab模拟光的反射折射》由会员分享,可在线阅读,更多相关《matlab模拟光的反射折射(2页珍藏版)》请在金锄头文库上搜索。

1、(3).我们首先假设光从空气进入水中,此时n=1.5。用一次函数图像来表示光的传播路线,通过改变光的入射点来改变光的入射角和入射方向,并根据反射光、折射光与入射光的斜率关系来控制反射角、折射角与入射角关系,设计程序如下:%显示图形窗口运行程序,得到运动的图形,即入射角改变,折射光和反射光的变化。得到截图如下:functionZHEFAN;set(gcf,doublebuffer,on);axis(-2,2,-1,1);holdon;rectangle(Position,-2,-1,4,1,.FaceColor,0.1,0.6,0.6);text(1.4,0.4,air,color,r,font

2、size,14)text(1.4,-0.4,water,color,r,fontsize,14)n=1.5;t=0;text(0.7,0.6,n=,num2str(n),fontsize,14);HL=rectangle(Position,-0.02,0.4,0.04,0.2,.FaceColor,0.3,0.8,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,T);k=1;dt=0.1;whilekpause(0.5);s=get(gcf,curren

3、tkey);ifstrcmp(s,space);clc;k=0;endifabs(t)0.3*pidt=-dt;endt=t+dt;A=t;Xi=0.4*tan(A);set(Hi,xdata,Xi,0);Ao=asin(sin(A)/n);Xo=Xi+tan(Ao);set(Ho,xdata,Xi,Xo);Xr=Xi+tan(A);set(Hr,xdata,Xi,Xr);set(HL,Facecolor,rand(1,3)endfigure(gcf);%光的折射光的反射%设置图片属性,双缓存防止图闪烁%设置坐标轴范围(x轴-2到2,y轴-1到1)%给图形下半部分设置成水的颜色%注明空气和水,并且设置字体%设置折射率%在图形上标明折射率%在图形上画出光源%设置入射光%设置折射光%设置反射光%设置结束提示%初始化k方便循环,设置入射光变化量%循环体%设置每次图形变换间隔为0.5秒%输入空格终止演示,是图形停止%设置入射光变化的范围%入射光发生改变%绘制最后折射光%绘制最后反射光请枝空格停止

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号