首页 用VB编写的齿轮的动画 全部程序

用VB编写的齿轮的动画 全部程序

举报
开通vip

用VB编写的齿轮的动画 全部程序(1)PrivateSubCommand1_Click()UnloadMeLoadForm2Form2.ShowEndSubPrivateSubLabel1_Click()EndSubPrivateSubTimer1_Timer()StaticpAsIntegerp=p1Ifp=16Thenp=0EndIfLabel1.ForeColor=QBColor(pMod14)Label2.ForeColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))Label3.ForeCol...

用VB编写的齿轮的动画 全部程序
(1)PrivateSubCommand1_Click()UnloadMeLoadForm2Form2.ShowEndSubPrivateSubLabel1_Click()EndSubPrivateSubTimer1_Timer()StaticpAsIntegerp=p1Ifp=16Thenp=0EndIfLabel1.ForeColor=QBColor(pMod14)Label2.ForeColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))Label3.ForeColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))Label4.ForeColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))EndSubPrivateSubTimer2_Timer()Command1.BackColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))EndSub(2)PrivateSubCommand1_Click()Command1.Visible=FalseCommand2.Visible=TruePicture1.Visible=TruePicture1.ClsCommand2.Value=FalseCommand3.Value=FalseTimer1.Enabled=FalseTimer2.Enabled=False'开始画第一个齿轮rb1=170/2*Cos(PI/9)ra1=190/2rf1=(17-2-0.5)*10/2Picture1.Scale(-120,-200)-(370,200)'画渐开线——Picture1.DrawWidth=1.2Picture1.Circle(0,0),2,QBColor(15)'rk1=rb1'i=jiao*PI/180Fora1=19/17*i0To2*PI19/17*iStep2*PI/17mn1=a114*PI/180mm1=a112.5*PI/180z21=rf1*Cos(mn1)z22=rf1*Sin(mn1)X1112=rb1*Cos(mm1)Y1112=rb1*Sin(mm1)Picture1.Line(z21,z22)-(X1112,Y1112),QBColor(15)gk1=Tan(Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1))-Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1)'展角与rk的关系b1=a1gk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))X1111=rb1*Cos(b1-gk1)Y1111=rb1*Sin(b1-gk1)'画齿根圆弧Forp1=a1-7*PI/180Toa1-1*PI/180Step0.4*PI/180z11=rf1*Cos(p1)z12=rf1*Sin(p1)Picture1.PSet(z11,z12),QBColor(15)Nextp1Picture1.Line(z11,z12)-(X1111,Y1111),QBColor(15)Forrk1=rb1Tora1Step0.4gk1=Tan(Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1))-Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1)'展角与rk的关系b1=a1gk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))X1=rk1*Cos(b1)Y1=rk1*Sin(b1)Ifb1=a1Thenbx1=X1By1=Y1Picture1.PSet(bx1,By1),QBColor(15)ElsePicture1.PSet(X1,Y1),QBColor(15)EndIfNextrk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))w1=sb1/rb1Forrk1=rb1Tora1Step0.4gk1=Tan(Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1))-Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1)'展角与rk的关系d1=a1w1-gk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))X12=rk1*Cos(d1)Y12=rk1*Sin(d1)Ifd1=w1Thenbx12=X12By12=Y12Picture1.PSet(bx12,By12),QBColor(15)ElsePicture1.PSet(X12,Y12),QBColor(15)EndIfNextrk1Nexta1Fork1=019/17*iTo2*PI19/17*iStep2*PI/17Fork11=k1gk114.5*PI/180Tok1sb1/rb1-gk11-3.8*PI/180Step0.3*PI/180x111=ra1*Cos(k11)y111=ra1*Sin(k11)Picture1.PSet(x111,y111),QBColor(15)Nextk11Nextk1'第一个齿轮结束'开始画第二个齿轮rb2=190/2*Cos(PI/9)ra2=(192)*10/2rf2=(19-2-0.5)*10/2'画渐开线——Picture1.Circle(183,0),2,QBColor(12)Fora2=07.88*PI/180-iTo2*PI7.88*PI/180-iStep2*PI/19mn2=a2-6.5*PI/180mm2=a2-7.5*PI/180z2121=183rf2*Cos(mn2)z2222=rf2*Sin(mn2)X2112=183rb2*Cos(mm2)Y2112=rb2*Sin(mm2)Picture1.Line(z2121,z2222)-(X2112,Y2112),QBColor(12)X2111=183rb2*Cos(a2)Y2111=rb2*Sin(a2)'画齿根圆弧Forp2=a2-6*PI/180Toa2-0.8*PI/180Step0.4*PI/180z111=183rf2*Cos(p2)z121=rf2*Sin(p2)Picture1.PSet(z111,z121),QBColor(12)Nextp2Picture1.Line(z111,z121)-(X2111,Y2111),QBColor(12)Forrk2=rb2Tora2Step0.4gk2=Tan(Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2))-Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2)'展角与rk的关系b2=a2gk2sb2=PI*10/2*Cos(PI/9)-10*19*Cos(PI/9)*(PI/9-Tan(PI/9))X2=183rk2*Cos(b2)Y2=rk2*Sin(b2)Ifb2=a2Thenbx2=X2By2=Y2Picture1.PSet(bx2,By2),QBColor(12)ElsePicture1.PSet(X2,Y2),QBColor(12)EndIfNextrk2sb2=PI*10/2*Cos(PI/9)-10*19*Cos(PI/9)*(PI/9-Tan(PI/9))w2=sb2/rb2Forrk2=rb2Tora2Step0.4gk2=Tan(Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2))-Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2)'展角与rk的关系d2=a2w2-gk2sb2=PI*10/2*Cos(PI/9)-10*19*Cos(PI/9)*(PI/9-Tan(PI/9))X22=183rk2*Cos(d2)Y22=rk2*Sin(d2)Ifd2=w2Thenbx22=X22By22=Y22Picture1.PSet(bx22,By22),QBColor(12)ElsePicture1.PSet(X22,Y22),QBColor(12)EndIfNextrk2'齿根圆圆弧Nexta2Fork2=07.88*PI/180-iTo2*PI7.88*PI/180-iStep2*PI/19gk22=Tan(Atn(Sqr(1-rb2/ra2*rb2/ra2)/rb2*ra2))-Atn(Sqr(1-rb2/ra2*rb2/rk2)/rb2*ra2)Fork22=k2gk22Tok2sb2/rb2-gk2Step0.3*PI/180x222=183ra2*Cos(k22)y222=ra2*Sin(k22)Picture1.PSet(x222,y222),QBColor(12)Nextk22Nextk2EndSubPrivateSubCommand2_Click()Label1.Visible=TrueLabel2.Visible=TrueCommand4.Visible=TrueVScroll1.Visible=TrueCommand3.Visible=TrueCommand1.Visible=FalseIfCommand2.Caption="白色齿轮顺时针转"ThenCommand2.Caption="白色齿轮逆时针转"Timer1.Enabled=TrueTimer2.Enabled=FalseConstjiao=0Timer1.Interval=100-VScroll1.ValueElseCommand2.Caption="白色齿轮顺时针转"Timer1.Enabled=FalseTimer2.Enabled=TrueTimer2.Interval=100-VScroll1.ValueEndIfEndSubPrivateSubCommand3_Click()VScroll1.Visible=FalseLabel1.Visible=FalseLabel2.Visible=FalseTimer1.Enabled=FalseTimer2.Enabled=FalseEndSubPrivateSubCommand4_Click()i=MsgBox("真的要退出?",vbOKCancelvbQuestionvbDefaultButton1,"请注意!")Ifi=1ThenEndEndIfEndSubPrivateSubCommand5_Click()UnloadMeLoadForm2Form3.ShowEndSubPrivateSubForm_Load()VScroll1.Visible=FalseCommand4.Visible=FalseLabel1.Visible=FalseLabel2.Visible=FalsePicture1.Visible=FalseCommand2.Visible=FalseCommand3.Visible=FalseEndSubPrivateSubTimer1_Timer()Timer1.Interval=100-VScroll1.ValuePicture1.Cls'开始画第一个齿轮rb1=170/2*Cos(PI/9)ra1=190/2rf1=(17-2-0.5)*10/2Picture1.Scale(-120,-200)-(370,200)'画渐开线——Picture1.DrawWidth=1.2Picture1.Circle(0,0),2,QBColor(15)'rk1=rb1'i=jiao*PI/180Fora1=19/17*i0To2*PI19/17*iStep2*PI/17mn1=a114*PI/180mm1=a112.5*PI/180z21=rf1*Cos(mn1)z22=rf1*Sin(mn1)X1112=rb1*Cos(mm1)Y1112=rb1*Sin(mm1)Picture1.Line(z21,z22)-(X1112,Y1112),QBColor(15)gk1=Tan(Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1))-Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1)'展角与rk的关系b1=a1gk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))X1111=rb1*Cos(b1-gk1)Y1111=rb1*Sin(b1-gk1)'画齿根圆弧Forp1=a1-7*PI/180Toa1-1*PI/180Step0.4*PI/180z11=rf1*Cos(p1)z12=rf1*Sin(p1)Picture1.PSet(z11,z12),QBColor(15)Nextp1Picture1.Line(z11,z12)-(X1111,Y1111),QBColor(15)Forrk1=rb1Tora1Step0.4gk1=Tan(Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1))-Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1)'展角与rk的关系b1=a1gk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))X1=rk1*Cos(b1)Y1=rk1*Sin(b1)Ifb1=a1Thenbx1=X1By1=Y1Picture1.PSet(bx1,By1),QBColor(15)ElsePicture1.PSet(X1,Y1),QBColor(15)EndIfNextrk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))w1=sb1/rb1Forrk1=rb1Tora1Step0.4gk1=Tan(Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1))-Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1)'展角与rk的关系d1=a1w1-gk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))X12=rk1*Cos(d1)Y12=rk1*Sin(d1)Ifd1=w1Thenbx12=X12By12=Y12Picture1.PSet(bx12,By12),QBColor(15)ElsePicture1.PSet(X12,Y12),QBColor(15)EndIfNextrk1Nexta1Fork1=019/17*iTo2*PI19/17*iStep2*PI/17Fork11=k1gk114.5*PI/180Tok1sb1/rb1-gk11-3.8*PI/180Step0.3*PI/180x111=ra1*Cos(k11)y111=ra1*Sin(k11)Picture1.PSet(x111,y111),QBColor(15)Nextk11Nextk1'第一个齿轮结束'开始画第二个齿轮rb2=190/2*Cos(PI/9)ra2=(192)*10/2rf2=(19-2-0.5)*10/2'画渐开线——Picture1.Circle(183,0),2,QBColor(12)Fora2=07.88*PI/180-iTo2*PI7.88*PI/180-iStep2*PI/19mn2=a2-6.5*PI/180mm2=a2-7.5*PI/180z2121=183rf2*Cos(mn2)z2222=rf2*Sin(mn2)X2112=183rb2*Cos(mm2)Y2112=rb2*Sin(mm2)Picture1.Line(z2121,z2222)-(X2112,Y2112),QBColor(12)X2111=183rb2*Cos(a2)Y2111=rb2*Sin(a2)'画齿根圆弧Forp2=a2-6*PI/180Toa2-0.8*PI/180Step0.4*PI/180z111=183rf2*Cos(p2)z121=rf2*Sin(p2)Picture1.PSet(z111,z121),QBColor(12)Nextp2Picture1.Line(z111,z121)-(X2111,Y2111),QBColor(12)Forrk2=rb2Tora2Step0.4gk2=Tan(Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2))-Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2)'展角与rk的关系b2=a2gk2sb2=PI*10/2*Cos(PI/9)-10*19*Cos(PI/9)*(PI/9-Tan(PI/9))X2=183rk2*Cos(b2)Y2=rk2*Sin(b2)Ifb2=a2Thenbx2=X2By2=Y2Picture1.PSet(bx2,By2),QBColor(12)ElsePicture1.PSet(X2,Y2),QBColor(12)EndIfNextrk2sb2=PI*10/2*Cos(PI/9)-10*19*Cos(PI/9)*(PI/9-Tan(PI/9))w2=sb2/rb2Forrk2=rb2Tora2Step0.4gk2=Tan(Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2))-Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2)'展角与rk的关系d2=a2w2-gk2sb2=PI*10/2*Cos(PI/9)-10*19*Cos(PI/9)*(PI/9-Tan(PI/9))X22=183rk2*Cos(d2)Y22=rk2*Sin(d2)Ifd2=w2Thenbx22=X22By22=Y22Picture1.PSet(bx22,By22),QBColor(12)ElsePicture1.PSet(X22,Y22),QBColor(12)EndIfNextrk2'齿根圆圆弧Nexta2Fork2=07.88*PI/180-iTo2*PI7.88*PI/180-iStep2*PI/19gk22=Tan(Atn(Sqr(1-rb2/ra2*rb2/ra2)/rb2*ra2))-Atn(Sqr(1-rb2/ra2*rb2/rk2)/rb2*ra2)Fork22=k2gk22Tok2sb2/rb2-gk2Step0.3*PI/180x222=183ra2*Cos(k22)y222=ra2*Sin(k22)Picture1.PSet(x222,y222),QBColor(12)Nextk22Nextk2jiao=jiao1'第二个齿轮结束EndSubPrivateSubTimer2_Timer()Picture1.ClsTimer2.Interval=100-VScroll1.Value'开始画第一个齿轮rb1=170/2*Cos(PI/9)ra1=190/2rf1=(17-2-0.5)*10/2Picture1.Scale(-120,-200)-(370,200)'画渐开线——Picture1.DrawWidth=1.2Picture1.Circle(0,0),2,QBColor(15)'rk1=rb1'i=jiao*PI/180Fora1=19/17*i0To2*PI19/17*iStep2*PI/17mn1=a114*PI/180mm1=a112.5*PI/180z21=rf1*Cos(mn1)z22=rf1*Sin(mn1)X1112=rb1*Cos(mm1)Y1112=rb1*Sin(mm1)Picture1.Line(z21,z22)-(X1112,Y1112),QBColor(15)gk1=Tan(Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1))-Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1)'展角与rk的关系b1=a1gk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))X1111=rb1*Cos(b1-gk1)Y1111=rb1*Sin(b1-gk1)'画齿根圆弧Forp1=a1-7*PI/180Toa1-1*PI/180Step0.4*PI/180z11=rf1*Cos(p1)z12=rf1*Sin(p1)Picture1.PSet(z11,z12),QBColor(15)Nextp1Picture1.Line(z11,z12)-(X1111,Y1111),QBColor(15)Forrk1=rb1Tora1Step0.4gk1=Tan(Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1))-Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1)'展角与rk的关系b1=a1gk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))X1=rk1*Cos(b1)Y1=rk1*Sin(b1)Ifb1=a1Thenbx1=X1By1=Y1Picture1.PSet(bx1,By1),QBColor(15)ElsePicture1.PSet(X1,Y1),QBColor(15)EndIfNextrk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))w1=sb1/rb1Forrk1=rb1Tora1Step0.4gk1=Tan(Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1))-Atn(Sqr(1-rb1/rk1*rb1/rk1)/rb1*rk1)'展角与rk的关系d1=a1w1-gk1sb1=PI*10/2*Cos(PI/9)-10*17*Cos(PI/9)*(PI/9-Tan(PI/9))X12=rk1*Cos(d1)Y12=rk1*Sin(d1)Ifd1=w1Thenbx12=X12By12=Y12Picture1.PSet(bx12,By12),QBColor(15)ElsePicture1.PSet(X12,Y12),QBColor(15)EndIfNextrk1Nexta1Fork1=019/17*iTo2*PI19/17*iStep2*PI/17Fork11=k1gk114.5*PI/180Tok1sb1/rb1-gk11-3.8*PI/180Step0.3*PI/180x111=ra1*Cos(k11)y111=ra1*Sin(k11)Picture1.PSet(x111,y111),QBColor(15)Nextk11Nextk1'第一个齿轮结束'开始画第二个齿轮rb2=190/2*Cos(PI/9)ra2=(192)*10/2rf2=(19-2-0.5)*10/2'画渐开线——Picture1.Circle(183,0),2,QBColor(12)Fora2=07.88*PI/180-iTo2*PI7.88*PI/180-iStep2*PI/19mn2=a2-6.5*PI/180mm2=a2-7.5*PI/180z2121=183rf2*Cos(mn2)z2222=rf2*Sin(mn2)X2112=183rb2*Cos(mm2)Y2112=rb2*Sin(mm2)Picture1.Line(z2121,z2222)-(X2112,Y2112),QBColor(12)X2111=183rb2*Cos(a2)Y2111=rb2*Sin(a2)'画齿根圆弧Forp2=a2-6*PI/180Toa2-0.8*PI/180Step0.4*PI/180z111=183rf2*Cos(p2)z121=rf2*Sin(p2)Picture1.PSet(z111,z121),QBColor(12)Nextp2Picture1.Line(z111,z121)-(X2111,Y2111),QBColor(12)Forrk2=rb2Tora2Step0.4gk2=Tan(Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2))-Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2)'展角与rk的关系b2=a2gk2sb2=PI*10/2*Cos(PI/9)-10*19*Cos(PI/9)*(PI/9-Tan(PI/9))X2=183rk2*Cos(b2)Y2=rk2*Sin(b2)Ifb2=a2Thenbx2=X2By2=Y2Picture1.PSet(bx2,By2),QBColor(12)ElsePicture1.PSet(X2,Y2),QBColor(12)EndIfNextrk2sb2=PI*10/2*Cos(PI/9)-10*19*Cos(PI/9)*(PI/9-Tan(PI/9))w2=sb2/rb2Forrk2=rb2Tora2Step0.4gk2=Tan(Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2))-Atn(Sqr(1-rb2/rk2*rb2/rk2)/rb2*rk2)'展角与rk的关系d2=a2w2-gk2sb2=PI*10/2*Cos(PI/9)-10*19*Cos(PI/9)*(PI/9-Tan(PI/9))X22=183rk2*Cos(d2)Y22=rk2*Sin(d2)Ifd2=w2Thenbx22=X22By22=Y22Picture1.PSet(bx22,By22),QBColor(12)ElsePicture1.PSet(X22,Y22),QBColor(12)EndIfNextrk2'齿根圆圆弧Nexta2Fork2=07.88*PI/180-iTo2*PI7.88*PI/180-iStep2*PI/19gk22=Tan(Atn(Sqr(1-rb2/ra2*rb2/ra2)/rb2*ra2))-Atn(Sqr(1-rb2/ra2*rb2/rk2)/rb2*ra2)Fork22=k2gk22Tok2sb2/rb2-gk2Step0.3*PI/180x222=183ra2*Cos(k22)y222=ra2*Sin(k22)Picture1.PSet(x222,y222),QBColor(12)Nextk22Nextk2jiao=jiao-1'第二个齿轮结束EndSubPrivateSubTimer3_Timer()Command1.BackColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))Command2.BackColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))Command3.BackColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))Command4.BackColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))Command5.BackColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))EndSubPrivateSubTimer4_Timer()Label1.ForeColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))Label2.ForeColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))EndSub(3)PrivateSubCommand1_Click()UnloadForm3LoadForm2Form2.ShowEndSubPrivateSubTimer1_Timer()
本文档为【用VB编写的齿轮的动画 全部程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_654168
暂无简介~
格式:doc
大小:59KB
软件:Word
页数:38
分类:
上传时间:2022-08-05
浏览量:1