matlab 图片倒影_计算物理基于matlab方法研究水中倒影问题

41528d3028836879cd698677c3999917.gif计算物理基于matlab方法研究水中倒影问题

基于 Matlab 方法研究水中倒影问题[摘 要] 本文介绍了用 matlab 研究倒影问题的方法,利用 matlab 可视化的优点可 以直观的得出结果。 [关键词] matlab; 倒影 ; 高度; 图像 The Research of The Problem about Water Reflection Base On Matlab [Abstract] The paper research about water reflection base on matlab [Keywords] matlab;water reflection;height;figure[基于 matlab 方法研究水中倒影问题] 2 1. 绪论 当今社会,随着计算机技术的飞速发展,计算机在学生的日常学习和生活中扮演 着越来越来重要的角色,MATLAB 科学计算语言因其高效、可视化、有推理能力等优 点,在大学教育和科学研究中的应用也日益广泛 【1】 。使用 MATLAB 语言可以锻炼学 生的思维能力和创新能力,并通过直观的物理图象加深对物理模型的理解。本文以 MATLAB 语言为基础,来解决物理问题。[基于 matlab 方法研究水中倒影问题] 3 2 水中倒影的研究 在日常生活中可以发现,站在岸边看水中的倒影,对于同样高的灯柱,人、灯间 距越大,灯光倒影越长;若人灯间距不变,灯柱越高,灯光倒影越长;人站得越高, 所看到的同一个灯柱灯光的倒影越短;波浪越大,灯光倒影拉的越长 【2】 ……这些日常 生活中的物理现象到底要如何解释,下面来建立一个物理模型。 2.1 方程的建立先对物理模型做简化处理,产生波浪的原因很多,这里只考虑由风力所形成的微 幅波,波长短、波高小,波浪表面与水平面最大夹角Φ较小,波形曲线两边对称。波 浪是两向推进波,沿观察者与物体之间传播。并把波浪表面看作是与水平面成不同夹 角的小平面镜 【2】 。 建立一个直角坐标系,设人、物间距为 s,物点高度 a,观察者高度 b,波浪表面 与水平面间的夹角为θ,水中虚像的坐标为(x,y) ,如图2-1所式,X轴表示水面, A(0,a)为物点,B(s,b)为观察者,发射点C(d,0) θθ θ Y A(0,a) C(d,0) B(s,b) X P(x,y) 图 2-11 水中倒影示意图[基于 matlab 方法研究水中倒影问题] 4 处波浪表面与 X 轴夹角为θ,有反射定律可以求出,A点在水中的虚像P的坐标为 x=2(dtanθ+a)cosθsinθ (2.11)y=-2(dtanθ+a)cos 2 θ+a (2.12) 又因为线段PC和BC在一条直线上,应满足 式(2.13)可化简为 将(2.14)式代入(2.11)式得将(2.14)式代入(2.12)式得 由(2.15) (2.16)两式得式中根据方程(2.15)和(2.17)或(2.16)和(2.17) ,给定 a,b,s,θ,就能计算 出虚像点位置P(x,y)并画出图像。当给定 a,b,s,θ=-Φ时,求出倒影的一个端点坐标 ,θ=Φ时 1 1 1 ( , ) P X Y 求出倒影另一个端点坐标 ,则能得到倒影的长度为 2 2 2 ( , ) P X Yb y s d d x     (2.13) bx sy d b y    (2.14) 2 sin 2 (2 sin sin 2 ) cos 2 ab s a y x b y         (2.15) 2 2 2 ( 2 cos sin 2 ) 2 cos sin 2 y a b a s y ab ab x b            (2.16) 3 2 1 2 3 0 y c y c y c     (2.17) 2 1 2 2 2 2 3 2 cos sin 2 cos 2 ( )cos 2 0.5 sin 4 2 sin 2 sin c b s a c b ab bs bs ab c ab                 2 2 1 2 2 1 2 1 ( ) ( ) L PP X X Y Y     [基于 matlab 方法研究水中倒影问题] 5 要计算出方程的解须借助 MATLAB 软件,以下介绍如何求解上述方程 2.2 MATLAB 实现 利用 MATLAB 编制函数程序 dyz.m,程序如下所示 【2】 function [x,y,L]=dyz(theta,a,b,s) i=1; for o=-theta*pi/180:theta*pi/7200:theta*pi/180c1=2*b*cos(o)*cos(o)-s*sin(2*o)-a*cos(2*o);c2=(b*b-a*b)*cos(2*o)-0.5*b*s*sin(4*o)-2*s*b*sin(2*o)*sin(o)^2-a*b;c3=a*b*b;p=[1,-c1,c2,c3];y0=roots(p);for j=1:1:3if imag(y0(j))==0 >> plot(x,y, o-r ) 得到的结果如图所示: 图中每一个虚像点 o对应一个θ值,o点的中心连线就是物点 A 的虚像。[基于 matlab 方法研究水中倒影问题] 6 2.3 结果分析 从上图可以看出物点的虚像点在根部比较密集,在顶部比较稀疏,所以日常生活中 看到的倒影的根部是明亮连续的,顶部就可能是稀疏暗淡的。一个物点在波浪中的虚 像有多个,所以一个物体在波浪中的倒影就模糊不清了。 2.3.1 物点高度 a对结果的影响还可比较物点高度 a 取不同值时的情况,如下所示:>> i=1; >> for a1=0.5:0.1:20 图 2-21 倒影图像 图 2-21 倒影图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值