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