home *** CD-ROM | disk | FTP | other *** search
/ Mastering Visual Basic 5 / MasteringVisualBasic5.iso / ch_code / ch06 / spiral / spiral.bas next >
Encoding:
BASIC Source File  |  1997-02-20  |  1.1 KB  |  46 lines

  1. Attribute VB_Name = "SpiralMod"
  2. Global BreakNow As Integer
  3. Global PenColor As Long
  4.  
  5. Sub DrawRoullette()
  6. Dim R1, R2, r, pi
  7.  
  8. R1 = Form1.HScroll1.Value
  9. R2 = Form1.HScroll2.Value - 80
  10. If R2 = o Then R2 = 10
  11. r = Form1.HScroll4.Value
  12. pi = 4 * Atn(1)
  13.  
  14. Dim loop1, loop2
  15. Dim t, X, Y As Double
  16. Dim Rotations As Integer
  17.  
  18. If Int(R1 / R2) = R1 / R2 Then
  19.     Rotations = 1
  20. Else
  21.     Rotations = Abs(R2 / 10)
  22.     If Int(R2 / 10) <> R2 / 10 Then Rotations = 10 * Rotations
  23. End If
  24.  
  25. For loop1 = 1 To Rotations
  26.     If BreakNow Then
  27.         Form1.Command1.Caption = "Start"
  28.         BreakNow = False
  29.         Exit Sub
  30.     End If
  31.     
  32.     For loop2 = 0 To 2 * pi Step pi / (4 * 360)
  33.         t = loop1 * 2 * pi + loop2
  34.         X = (R1 + R2) * Cos(t) - (R2 + r) * Cos(((R1 + R2) / R2) * t)
  35.         Y = (R1 + R2) * Sin(t) - (R2 + r) * Sin(((R1 + R2) / R2) * t)
  36.         Form1.Picture1.PSet (Form1.Picture1.ScaleWidth / 2 + X, Form1.Picture1.ScaleHeight / 2 + Y), PenColor
  37.     Next
  38.     DoEvents
  39. Next
  40. Form1.Command1.Caption = "Start"
  41. BreakNow = False
  42.  
  43. End Sub
  44.  
  45.  
  46.