- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈基于VPython的机构运动仿真研究及实现
浅谈基于VPython的机构运动仿真研究及实现
摘要:近年来有许多针对机构运动学虚拟仿真技术的研究,用来辅助教学。其中,采用VPython对机构运动学教学进行三维图形编程是一种易学易用、功能强大的选择。通过建立机构运动的数学模型和参数化绘图,实现了常用平面连杆机构的运动分析和仿真,展示了VPython用于辅助教学的设计思想与实现方法,从而降低仿真开发难度,提高了机构研究设计的效
率和效果。关键词:曲柄滑块机构;Python;VPython;虚拟仿真;三维图像编程
1引言
在机构运动学的教学中,人们经常用虚拟的三维软件来形象直观地表达机构运动过程。用于机械动态模拟的方法和软件很多,其中VPython是建构在Python程序设计语言之上的一个模块,它在可视觉化方面有丰富的功能及方便的操作介面。应用VPython我们可以创造一个能够实现交互的虚拟世界,可编写某一机构的具有交互作用的三维动画,进而更加形象地表示机构的外形、运动过程、工作状态等[1]。同时,由于VPython的简单易学,在机械设计课程中加入简单的VPython程序编写,可以使那些非程序设计人员体验到编程的乐趣。
基于这样的设计思想,本文介绍了用VPython虚拟仿真曲柄滑块机构的运动设计与实现。
2基本技术介绍
2.1Python
Python是一种面向对象的程序语言(OOP),于1990年由荷兰科学家GuidovanRossem所发明。相较于其它编程语言,Python极其简单易学。它内置了许多常用的高级数据结构(如字典、列表、集合等)和功能模块(如文本处理、网络、多媒体、数据库和GUI等),使人们可以把精力集中在要解决的问题算法上,而不用考虑低层实现细节。Python开发效率非常高,据估计,实现同样功能程序,Python的开发周期比Java开发的缩短4~6倍。初学者通过很短时间的学习即可写出复杂的程序[2,3]。
2.2VPython
VPython是一个建立在Python上的视觉化图形模块,其创立者是美国卡内基美隆学生DavidSherer。VPython能使三维可视编程更容易。它提供了一组三维元件(素材),如球状体,柱状体和线型等。通过Vector操作函数可以很容易进行时空变换。进而,允许用户用鼠标直接操作屏幕上[1]对象。
目前,VPython广泛应用于高等数学、平面几何、地理和物理等教学中,并取得了较好的教学效果[2]。
3机构运动分析的数学模型
3.1机构运动建模
该曲柄滑块机构包括3个运动构件,各构件和杆矢的方位角如图l所示。构件l(OB)作匀角速圆周运动,构件2(BC)作复杂的平面运动,其运动方式可分解为随同构件l的转动和绕B点的转动。构件3(C)为往复运动[4,5]。假定C块中心点与A处于同一水平面上。
图1曲柄滑块机构示意图
3.2运动分析
经分析得知,只要确定了各构件在某一时刻相对于初始位置的转动角度,就可以确定各构件在这一时刻的位置及运动方向,进而模拟出整个机构的运动。
下面用矢量方程解析法来分析各构件转角之间的关系:
如图1所示,在机构示意图中建立直角坐标系,以O为原点,OC为x轴,在O点垂直OC向上为y轴。并标出各杆矢的方位角。其中,BO与X轴正向夹角为α;BC与X轴正向夹角为β。杆1匀角速度转动,其转角大小随时间变化。杆1是原动件,其它各杆都随杆l运动。
可视α为已知,O点坐标为(0,0),设OB与BC的长度分别为r1与r2,且是设定量,则可求在任意时刻,B点(XB,YB),C点(Xc,Yc)的运动轨迹。
由已知可得:转角β与转角α的关系式:
r1sinα=r2sinβ(1)
B点坐标为:
XB=r1cosα(2)
YB=r1sinα(3)
C点坐标为:
Xc=r1cosα r2cosβ(4)
Yc=0(5)
由(1)式得出:
β=arcsin(r1sinα/r2)(6)
把(6)式代入(4)得:
Xc=r1cosα r2cos[arcsin(r1sinα/r2)](7)
所以可知在任意时刻,B与C点轨迹都是r1r2及α的关系式。
因为杆1为等角速圆周运动,设角速度为ω,ω为常量,α0为杆1初始角,故α=α0 ωt。又r1、r2已知,故B、C两点的坐标是随α也即随时间t变化的函数。
4仿真及实现
4.1程序设计思想
首先我们在VPythonforidle开发环境中导入Visual与math模块,三维物体都处在Visual的scene类中显示与控制。(程序中出现在“#”后的为程序的注释,以增加程序的可读性与可维护性,程序运行时会忽略。下同。)先进行scene相关属性的设置12全文查看 管理资料下载站
提供大量的免费资料下载,如果你喜欢我们,请将我们分享给您的朋友们!WebAdJs(“s006”);收藏本文章下载本文章(DOC格式)
文档评论(0)