模拟单摆运动_第1页
模拟单摆运动_第2页
模拟单摆运动_第3页
模拟单摆运动_第4页
模拟单摆运动_第5页
已阅读5页,还剩8页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳航空航天大学课程设计学号班级 94060302姓名景双双指导教师刘学平2011 年7 月 6日沈阳航空航天大学课程设计任务书学院:机电工程学院专业:车辆工程班级:94060302学号:2009040603037 题目:模拟单摆运动一、课程设计时间2011年6月27日7月1日(第18周),共计1周。二、课程设计内容设计一个单摆机构,运动过程可随时停止和启动。初始参数包括:初始角、触发时钟 的间隔。用户界面中的菜单至少应包括“初始参数设置”、“开始运动”、“退出” 3项三、课程设计要求程序质量:贯彻事件驱动的程序设计思想。用户界面友好,功能明确,操作方便;可以增加其他功能或修饰。代码应适当缩进

2、,并给出必要的注释,以增强程序的可读性。课程设计说明书:课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提 供的模板。四、指导教师和学生签字指导教师: 学生签名:五、成绩六、教师评语目录 TOC o 1-5 h z HYPERLINK l bookmark26 o Current Document 一、需求分析4 HYPERLINK l bookmark33 o Current Document 二、设计分析4 HYPERLINK l bookmark39 o Current Document 三、关键技术6四、 总结.错误!未定义书签。 HYPERLINK l bookmar

3、k55 o Current Document 五、完整的源程序11 HYPERLINK l bookmark58 o Current Document 六、参考文献14、需求分析模拟单摆运动,主要是使单摆能够在最低点左右摆 动动,从而使得本软件能够模拟单摆的运动情况,用来 在物理课的时候让同学能够更直接的感受到单摆的运行 轨迹以及运行周期与初始角.绳长还有球质量的关系。要 求设计界面把需要的文本控件.按钮控件以及图形添 加到适合的位置单摆可随时停止和启动设置初始参数,初始参数包括:初始角度、触发时 钟的时间间隔用户界面中的菜单至少应包括“初始参数设置”、 “开始运动”、“退出” 3项。二、设计

4、分析(1) 基本原理:设计窗体,通过时钟控件实现摆球 的摆动(2)总体设计:(3)详细设计:图1详细设计(4)数据库设计:数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造 成编码的改动,所以必须认真设计数据库结构后再进行编码,从而避免无 谓的重复工作。本系统由于是模拟单摆的运动系统所以不需要引入数据只 要按照使用者的需要把单摆运动的各个参数填入对应的框内即可。三、关键技术(1)建立符合要求的窗体图1窗体(2)编辑timer的语句使得单摆能够执行左右摆动的功能程序段如下:Private Sub Timer1_Timer()r = Val(Text4.Text)Shape1.Width

5、 = 2 * Val(Text4.Text)Shape1.Height = 2 * Val(Text4.Text)If b = 1 ThenIf a = -Val(Textl.Text) Then b = 2Line2.X2 = Line2.X1 - lenl * Sin(a * p / 180)Line2.Y2 = Line2.Y1 + len1 * Cos(a * p / 180)Shape1.Left = Line2.X1 - r - len1 * Sin(a * p / 180)Shape1.Top = Line2.Y1 - r + len1 * Cos(a * p / 180) a

6、= a - 1End IfIf b = 2 ThenIf a = Val(Text1.Text) Then b = 1Line2.X2 = Line2.X1 - len1 * Sin(a * p / 180)Line2.Y2 = Line2.Y1 + len1 * Cos(a * p / 180)Shape1.Left = Line2.X1 - r - len1 * Sin(a * p / 180)Shape1.Top = Line2.Y1 - r + len1 * Cos(a * p / 180) a = a + 1End IfEnd Sub(3)单摆运动是模拟物理实验用电脑给用户直观的学习

7、工具程序段如下:Const p = 3.14Dim a, len1, bPrivate Sub Command1_Click()If Command1.Caption = 开始ThenCommand1.Caption =暂停”Timer1.Enabled = TrueTimer1.Interval = Text2.TextElseCommand1.Caption =开始Timer1.Enabled = FalseEnd IfEnd SubPrivate Sub Command2_Click() End End SubPrivate Sub Form_Load() a = Text1.Text

8、len1 = 1000 * Sqr(2) b = 1 Timer1.Enabled = False End SubPrivate Sub Text1_Change() a = Val(Text1.Text) If Text1.Text = ThenMsgBox ”请输入初始角,,注意 Command1.Enabled = True Timer1.Enabled = False End IfEnd SubPrivate Sub Text2_Change() Timer1.Interval = Val(Text2.Text) If Text2.Text = ThenMsgBox ”请输入时间间隔”

9、,,注意 Command1.Enabled = True Timer1.Enabled = False End IfEnd SubPrivate Sub Text3_Change() len1 = Val(Text3.Text) If Text3.Text = ThenMsgBox ”请输入绳长”注意 Command1.Enabled = TrueTimer1.Enabled = FalseEnd IfEnd SubPrivate Sub Text4_Change()If Text4.Text = ThenMsgBox ”请输入球半径,,注意Command1.Enabled = TrueTim

10、er1.Enabled = FalseEnd IfEnd Sub(4)按照不同的绳长,球半径,间隔时间,起始角填入 到对应的文本框程序段如下:Private Sub Text1_Change()a = Val(Text1.Text)If Text1.Text = ThenMsgBox ”请输入初始角”,,注意Command1.Enabled = TrueTimer1.Enabled = FalseEnd IfEnd SubPrivate Sub Text2_Change()Timer1.Interval = Val(Text2.Text)If Text2.Text = ThenMsgBox ”

11、请输入时间间隔,注意Command1.Enabled = TrueTimer1.Enabled = FalseEnd IfEnd SubPrivate Sub Text3_Change()lenl = Val(Text3.Text)If Text3.Text = ThenMsgBox ”请输入绳长七,注意Command1.Enabled = TrueTimer1.Enabled = FalseEnd IfEnd SubPrivate Sub Text4_Change()If Text4.Text = ThenMsgBox ”请输入球半径,注意Command1.Enabled = TrueTim

12、er1.Enabled = FalseEnd IfEnd Sub图2不同球半径图3不同绳长总结:在本次课设中我的题目是模拟单摆运动,经过一周的课设,是我重新学习 了 vb。并从中发现了许多新的知识与乐趣。应用timer控件,命令按钮,文本框,标 签等控件的使用和属性的意义以及if语句等在本次课设中我遇到了一些问题,例如单 摆函数方程,不过通过自己在网上搜索资料以及向老师和同学的请教,我完成了本次 课设。从本次课设中,我又学到了许多关于vb方面的知识,锻炼了自己的能力和素质, 在今后的生活和各做中奠定了良好的基础。五、完整的源程序Const p = 3.14Dim a, lenl, bPriva

13、te Sub Command1_Click()If Command1.Caption =开始ThenCommandl.Caption =暂停Timer1.Enabled = TrueTimer1.Interval = Text2.TextElseCommand1.Caption =开始Timer1.Enabled = FalseEnd IfEnd SubPrivate Sub Command2_Click() EndEnd SubPrivate Sub Form_Load() a = Text1.Text len1 = 1000 * Sqr(2) b = 1 Timer1.Enabled =

14、False End SubPrivate Sub Text1_Change() a = Val(Text1.Text) If Text1.Text = ThenMsgBox 请输入初始角,,注意 Command1.Enabled = True Timer1.Enabled = FalseEnd IfEnd SubPrivate Sub Text2_Change() Timer1.Interval = Val(Text2.Text) If Text2.Text = ThenMsgBox ”请输入时间间隔”,,注意 Command1.Enabled = TrueTimer1.Enabled = F

15、alse End IfEnd SubPrivate Sub Text3_Change() lenl = Val(Text3.Text) If Text3.Text = ThenMsgBox ”请输入绳长七,注意Command1.Enabled = TrueTimer1.Enabled = FalseEnd IfEnd SubPrivate Sub Text4_Change()If Text4.Text = ThenMsgBox 请输入球半径,注意Command1.Enabled = TrueTimer1.Enabled = FalseEnd IfEnd SubPrivate Sub Timer

16、1_Timer() r = Val(Text4.Text)Shape1.Width = 2 * Val(Text4.Text)Shape1.Height = 2 * Val(Text4.Text)If b = 1 ThenIf a = -Val(Text1.Text) Then b = 2Line2.X2 = Line2.X1 - len1 * Sin(a * p / 180)Line2.Y2 = Line2.Y1 + len1 * Cos(a * p / 180) Shape1.Left = Line2.X1 - r - len1 * Sin(a * p / 180) Shape1.Top = Line2.Y1 - r + len1 * Cos(a * p / 180) a = a - 1End IfIf b = 2 ThenIf a = Val(Text1.Text) Then b = 1Line2.X2 = Line2.X1 - lenl * Sin(a * p / 180) Line2.Y2 = Line2.Y1 + lenl *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论