标题:求助:求直线与圆的交点,入射角及出射角
只看楼主
junefish
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-4-6
 问题点数:0 回复次数:1 
求助:求直线与圆的交点,入射角及出射角
因为在做毕业设计,所以导师说要用matlab来编程,我不太懂这个软件,请大家帮帮忙,先谢谢了!
 我现在想模拟这样一个情况:
平行光线(空气中)与圆相交,在圆内部发生折射后(圆内部的介质不是空气,先设为n),再折射向空气介质,我想知道光线的走向 ,就是平行光线的入射角及出射角,可以用matlab 哪些功能来完成阿 ? 请多说点 ,我不会用这个东西,谢谢了!  qq:442792580
搜索更多相关主题的帖子: 射角 交点 直线 光线 matlab 
2008-04-06 23:30
yinjiangming
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-4-29
得分:0 
计算很简单,应该是要求画图
程序比较粗糙 但是符合妖气


w=input('请输入射角:(以角度计)')
w=w*pi/180;
n=input('请输入介质的折射率:')
zheshejiao=asin(sin(w)/n);
fprintf('折射角=%4.2f\n', zheshejiao*180/pi)

a=0:0.01:2*pi;
rx=1+sqrt(2)*cos(a);
ry=1+sqrt(2)*sin(a);


%w=60*pi/180
%n=1.5
%zheshejiao=asin(sin(w)/n)
b=0:2;
rrx=b*cos(w+pi/4+pi);
rry=b*sin(w+pi/4+pi);
b=-1:2;
rfx=-b;
rfy=rfx;
b=-2:2;
rnx=-b;
rny=-rnx;

px=sqrt(2)*cos(zheshejiao)*2*cos(zheshejiao+pi/4);
py=sqrt(2)*cos(zheshejiao)*2*sin(zheshejiao+pi/4);

%e1=(px-1)^2+(py-1)^2-2
b=0:0.01:px;
rzx=b;
rzy=b*py/px;

k1=(py-1)/(px-1);
b=(min(px,1)+(px<1)*(-0.2)):0.01:(max(px,1)+(px>1)*0.2);
xxx=b;
yyy=(b-1)*k1+1;

k2=-1/k1;
b=(-0.5+px):0.01:(0.5+px);
rnxx=b;
rnyy=(b-px)*k2+py;


chu=asin(n*sin(zheshejiao));
jiao=atan(k1);
k3=tan(jiao-chu);
b=px:0.01:(px+1);
rcx=b;
rcy=(b-px)*k3+py;








plot(rx,ry,rrx,rry,rfx,rfy,rnx,rny,rzx,rzy,xxx,yyy,rnxx,rnyy,rcx,rcy)
z=-3:3;
zz=[0 0 0 0 0 0 0];
line(z,zz)
line(zz,z)
axis('square','equal')
2008-04-30 13:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-207457-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048331 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved