源码,很短。大家可以去研究: Const pi = 3.14159 Dim a, b Private Sub form_click() Cls Form1.ScaleMode = 3 Form1.Scale (-20, 20)-(20, -20) Form1.DrawWidth = 1 Line (-20, 0)-(20, 0), vbRed Line (18.5, 0.5)-(20, 0), vbRed Line -(18.5, -0.5), vbRed Print "X" Line (0, -20)-(0, 20), vbRed Line (0.5, 18.5)-(0, 20), vbRed Line -(-0.5, 18.5), vbRed Print "Y" CurrentX = 1: CurrentY = -1: Print "0" For b = 0 To 19 Step 1 / 2 For a = 0 To 2 * pi Step pi / 1000 PSet (b * Cos(a) ^ 3, b * Sin(a) ^ 1), vbBlue Next a Next End Sub
我添加一下注释吧: Const pi = 3.14159 Dim a, b Private Sub form_click() Cls '清空窗体 Form1.ScaleMode = 3 Form1.Scale (-20, 20)-(20, -20) '设置坐标系 Form1.DrawWidth = 1 '设置绘制宽度 Line (-20, 0)-(20, 0), vbRed '绘制X轴 Line (18.5, 0.5)-(20, 0), vbRed Line -(18.5, -0.5), vbRed '绘制X轴箭头 Print "X" '显示X Line (0, -20)-(0, 20), vbRed '绘制Y轴 Line (0.5, 18.5)-(0, 20), vbRed Line -(-0.5, 18.5), vbRed '绘制Y轴箭头 Print "Y" '显示Y CurrentX = 1: CurrentY = -1: Print "0" '显示远点 For b = 0 To 19 Step 1 / 2 '绘制曲线 For a = 0 To 2 * pi Step pi / 1000 PSet (b * Cos(a) ^ 3, b * Sin(a) ^ 1), vbBlue Next a Next End Sub
源码,加注释了: Private Sub form_click() Dim x, y, i As Single '定义坐标值变量x和y以及循环参数i Scale (-16, 16)-(16, -16) '自定义坐标系 Line (0, 15)-(0, -15) '绘制垂直直线 Line (15, 0)-(-15, 0) '绘制水平直线 For i = -14.5 To 14.5 Step 0.01 x = i '正弦曲线参数 y = 10 * Cos(i) '正弦曲线参数 PSet (x, y), vbGreen '绘制正弦曲线 Next i End Sub Private Sub form_dblclick() '窗体双击事件 Cls '清除屏幕内容 End Sub
我给你升一下级吧: Private Sub form_click() Dim x, y, i As Single '定义坐标值变量x和y以及循环参数i Scale (-16, 16)-(16, -16) '自定义坐标系 Line (0, 15)-(0, -15) '绘制垂直直线 Line (15, 0)-(-15, 0) '绘制水平直线 For i = -14.5 To 14.5 Step 0.01 x = i '正弦曲线参数 y = 10 * Cos(i) '正弦曲线参数 Line (x, y)-(x + 0.01, 10 * Cos(x + 0.01)), vbGreen '绘制正弦曲线 Next i End Sub Private Sub form_dblclick() '窗体双击事件 Cls '清除屏幕内容 End Sub 这样画的更连续些
加个Timer吧: Dim x, y, i As Single '定义坐标值变量x和y以及循环参数i Private Sub form_click() i = -14.5 Scale (-16, 16)-(16, -16) '自定义坐标系 Line (0, 15)-(0, -15) '绘制垂直直线 Line (15, 0)-(-15, 0) '绘制水平直线 Timer1 = True End Sub Private Sub form_dblclick() '窗体双击事件 Cls '清除屏幕内容 End Sub Private Sub Timer1_Timer() x = i '正弦曲线参数 y = 10 * Cos(i) '正弦曲线参数 Line (x, y)-(x + 0.01, 10 * Cos(x + 0.01)), vbGreen '绘制正弦曲线 i = i + 0.01 If i > 14.5 Then Timer1 = False End If End Sub 绘图速度有你设定Timer1的Interval决定,100有点慢,10还行不过还是慢。