小弟初学VB,碰到一题目不解,求各位大哥大姐指导,请把代码回我参考一下(题目肯定简单,不花多少时间的,先在这里谢了)
  
题目:
  程序启动后,一个蓝色的小圆围绕红色大圆沿椭圆轨迹运行(红色大圆须在屏幕中心),椭圆的参数方程为x=x1+HR*cos(a),y=y1+VR*sin(a),其中x1,y1为椭圆圆心坐标,HR,VR为水平和垂直半径,a为圆心角;
  在窗体加入形状控件Shape1,Shape2分别作为红色大圆和蓝色小圆;
  将定时器Timer1的时间间隔设置为1秒。  再次感谢
  过几天就要交了急啊

解决方案 »

  1.   

    纯粹数学问题,程序方面只用个circle函数就够了吧.
    理清楚各个量之间的关系就Ok了
      

  2.   

    Option Explicit
    Const PI = 3.1415926
    Const Aspect = 0.5
    Dim JiaoDu As SinglePrivate Sub Form_Load()
        JiaoDu = 0
        Timer1.Interval = 100
        Timer1.Enabled = True
    End Sub
    Private Sub Timer1_Timer()
        Me.Cls
        If JiaoDu > (180 / PI) * 360 Then
            JiaoDu = 0
        Else
            JiaoDu = JiaoDu + 5 / (180 / PI)
        End If
        Circle (Me.ScaleWidth / 2, Me.ScaleHeight / 2), 1500, vbRed, , , Aspect
        Circle (Me.ScaleWidth / 2 + 1500 * Cos(JiaoDu), Me.ScaleHeight / 2 + 1500 * Aspect * Sin(JiaoDu)), 200, vbBlue
    End Sub
      

  3.   

    添加两个控件,shape1和shape2,手动设置它们的颜色Const PI=3.14159
    Dim HR, VR As Integer
    Dim X1, Y1 As Double
    Dim A As DoublePrivate Sub Form_Click()
        Timer1.Enabled = True
    End SubPrivate Sub Form_Load()
    '窗口占全屏
     Me.Width = Screen.Width
     Me.Height = Screen.Height
     Me.Left = 0
     Me.Top = 0
     
     '椭圆处于中心
     Shape1.Height = Me.ScaleHeight
     Shape1.Width = Me.ScaleWidth
     Shape1.Left = 0
     Shape1.Top = 0
     
     '让二成为圆
     Shape2.Width = Shape2.Height
     
     '放置到椭圆上。
     Shape2.Left = Me.ScaleWidth - Shape2.Width / 2
     Shape2.Top = Me.ScaleHeight / 2 - Shape2.Height / 2
     
     Y1 = Me.ScaleHeight / 2
     X1 = Me.ScaleWidth / 2
     HR = X1
     VR = Y1
    End SubPrivate Sub Timer1_Timer()
        '绕行代码
        x = X1 + HR * Cos(A)
        y = Y1 + VR * Sin(A)
        A = A + PI/ 10 '步长,可以自己修改,
        If A > 2 * PI Then A = 0
        Shape2.Left = x - Shape2.Width / 2
        Shape2.Top = y - Shape2.Height / 2
    End Sub
      

  4.   

    vivan19781111(vivan kaici) 朋友没用到shape控件
    可能是理解错误
    不是 蓝色小球 沿 红色椭圆轨迹 运行,
    而应该是 一个蓝色的小圆 围绕 红色大圆 沿 椭圆轨迹 运行Fashionxu() 朋友的我设了颜色后还是看不到两个球,
    请你直接把程序发给我吧
    邮箱:[email protected]非常感谢两位的帮忙