完成一个“行星”的程序设计,要求:
程序启动后,一个蓝色的小圆围绕红色大圆沿椭圆轨迹运行,椭圆的参数方程为x=x1+HR*COS(a),y=y1+VR*sin(a),其中x1、y1为椭圆圆心坐标,HR、VR为水平和垂直半径,a为圆心角;
在窗体加入形状控件Shape1、Shape2分别作为红色大圆和蓝色小圆;
将定时器Tiner1的间隔设置为1秒。
(必须是最大化,且大圆的圆心在中点,大圆不动,小圆角度变化)

解决方案 »

  1.   

    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 + 3.14159 / 10
        If A > 2 * 3.14159 Then A = 0
        Shape2.Left = x - Shape2.Width / 2
        Shape2.Top = y - Shape2.Height / 2
    End Sub
      

  2.   

    添加两个控件,shape1和shape2,手动设置它们的颜色。就可以了。