摘要:针对下雨和下雪常见的天气现象,利用VB的可视化编程技术,实现对下雨和下雪的动画模拟。
关键词:下雨下雪计算机模拟
0引言
冬天是下雨和下雪较多的季节,目前很多都是用Flash软件来模拟下雪和下雨的过程,Microsoft Visual Basic是广泛应用的通用的可视化编程软件开发工具,具有非常强大的图形处理功能,加之VB简单易学,使用方便,有许多功能强大的处理图形图像的控件与函数,便于实现较为逼真的软件模拟环境。同时实现此功能的VB程序代码实现比较容易,而且采用面向对象的编程方法,可以很方便地进行扩展。
1实现方法
由于是在计算机屏幕上模拟下雨
和下雪现象,因此当“雨滴”或“雪花”到达屏幕底部时要进行复原,用Rangomize初始化随机数发生器,并采用两种不同的方法触发:在模拟“下雨”的程序中,利用一个计时器,通过不断地绘制不同圆心和半径的小圆来表示“雨滴”。在模拟“下雪”的程序中,采用无限循环,并利用Do-Events函数,当双击鼠标左键时,才使模拟程序中断循环,并返回。具体实现流程如图1和图2所示。
2程序实现和模拟效果
定义全局数组Snow(1000,1)表示“雪花”在屏幕上的坐标,Scolor(1000)表示坐标点的颜,Snumber为设定的“雪花”数量。Rain(1000,1)表示“雨滴”在屏幕上的坐标,Rsize(1000)为“雨滴”大小,Rdelta(1000)为间隔。主要程序如下:
Dim Snow(1000,1),Scolor(1000),Snumber As Integer
Private Sub Form_Load()
Fsnow.Show
DoEvents
Randomize:Snumber=400
For j=1To Snumber
Snow(j,0)=Int(Rnd*Fsnow.Width)
Snow(j,1)=Int(Rnd*Fsnow.Height)
Scolor(j)=10+(Rnd*20)
Next j
基于VB的雨雪天气现象模拟实现
李道炜(南京金陵中学)
图1
下雪流程图2下雨流程
的确定事故发生的原因。从运行理论层面论述:这样各类因果关系经过逻辑关联,便能够得出一类似于倒置的树体结构模式,故而称之为事故树。
事故树具体表现是对现有生产系统及作业过程内可能产生的灾害结果,依据生产工艺流程和主次顺序排列,得出一形象简介的图形,详细出生产系统与作业过程内所存在的运行问题,为系统的安全生产目标提供具体的参考依据。尤其是对于重大的安全事故展开的分析尤为客观,能够精准的对危险源及事故源做出预测评价,并通过情报信息做出决策措施,优化工作,因此依托其强大的逻辑特征与可定量定性分析特点,将其运用于当前采煤工作面顶板的安全管理之中尤为必要。
但是运用事故树在采煤工作面顶板安全管理之中也具有着相应的缺点,即在事故树的编制中,必须对煤矿顶板工作内容十分熟悉,且经验丰富,通过准确的分析方法方可完成,如果系统过于复杂的话,所编织出的事故树也会极为庞大,这明显不利于定性定量的分析。因此在当前必然需要就煤矿作业人员自身综合素质予以培养,以便精准操控事故树,达到全面了解各类事故的控制要点,促使煤矿安全工作的深化推进。
参考文献:
[1]张利兵.采煤工作面顶板安全管理的应用探讨[J].科技与生活,2010(7):135.
[2]颜景玉,潘永清.浅谈过地质构造时采煤工作面顶板支护[J].山东煤炭科技,2012(4):228-230.
大学vb实验教程答案[3]孙家才.高档采煤工作面支护方法的探讨[J].科技咨询导报,2007(20):108-108.
[4]原国政.矿压监测在顶板安全管理中的应用[J].煤炭工程,2009(12):54-55.
(上接第266页)
267
. All Rights Reserved.
Do While Not (DoEvents =0)For ls =1To 10
For i =1To Snumber oldx =Snow(i,0)oldy =Snow(i,1)
Snow(i,1)=Snow(i,1)+Scolor(i)If Snow(i,1)>Fsnow.Height Then Snow(i,1)=0
Scolor(i)=5+Rnd *30
Snow(i,0)=Int(Rnd *Fsnow.Width)oldx =0oldy =0End If
coloury =8*(Scolor(i)-10)coloury =60+coloury
PSet (oldx,oldy),QBColor(0)
PSet (Snow (i,0),Snow (i,1)),RGB
(coloury,coloury,coloury)
Next i Next ls Loop End Sub
Private Sub Form_DblClick()
End
End Sub
运行后得到的效果如图3
所示:
图3模拟下雪
Dim Rain (1000,1),Rdelta (1000),Rsize (1000),
Rnumber As Integer
Private Sub Form_Load()
Randomize
Rnumber=1000
For i =1To Rnumber
Rx1=Int(FRain.Width *Rnd)Ry1=Int(FRain.Height *Rnd)Rdelt1=Int(500-(Int(Rnd *499)))Rsize1=25*Rnd Rain(i,0)=Rx1
Rain(i,1)=Ry1Rdelta(i)=Rdelt1Rsize(i)=Rsize1Next End Sub
Private Sub Timer1_Timer()
For i =1
To Rnumber
Circle (Rain (i,0),Rain (i,1)),Rsize (i),BackColor Rain(i,1)=Rain(i,1)+Rdelta(i)If Rain(i,1)>=Frain.Height Then Rain(i,1)=0:
Rain(i,0)=Int(Frain.Width *Rnd)End if
Circle (Rain(i,0),Rain(i,1)),Rsize(i)Next End Sub
Private Sub Form_DblClick()
End End Sub
运行后得到的效果如图4
所示:
图4模拟下雨
3结束语
将常见的天气现象用图形化的编程语言实现计算机模拟,取得了较好的效果,本文只是对较普通的现象进行
了模拟。由于天气现象变化无常,
要准确及时模拟各种天气现象,还需要设计复杂的算法和进行高级的编程。总
之,通过计算机模拟天气现象,
对自然界的现象有了进一步的理解和认识,为今后进一步的开发研究奠定了基础。
参考文献:
[1]汪洋.基于VB 的模拟仿真技术的实现[J].荆门职业技术学院
学报,2007年6月.
[2]冯宏伟,罗宏.基于VB 的自动绘制立面图程序的设计[J].城市
勘测,2012年1期.[3]陈锦昌等.VB 计算机绘图教程[M].华南理工大学出版社,2003.[4]薛建忠.基于VB 语言的物理实验模拟[J].江苏技术师范学院
学报,2003年12月.268
. All Rights Reserved.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论