home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / Structural20376112142006.psc / Math.bas < prev    next >
BASIC Source File  |  2006-12-11  |  2KB  |  67 lines

  1. Attribute VB_Name = "Math"
  2.  
  3. '##############################
  4. '# Distance betwen two points #
  5. '##############################
  6. Public Function Distance(X1, Y1, X2, Y2) As Integer
  7.     h = Abs(Y1 - Y2)
  8.     w = Abs(X1 - X2)
  9.     Distance = Sqr((h * h) + (w * w))
  10. End Function
  11.  
  12. '###############################################
  13. '# Distance betwen center and edge of a circle #
  14. '###############################################
  15. Public Sub Rotation(Angle As Integer, Radius As Integer, ByRef Xout As Integer, ByRef Yout As Integer)
  16.     Dim AngleT As Single
  17.  
  18.     If DegreesRotation > 359 Then
  19.         AngleT = (Angle Mod 360) * 1.74532925199433E-02
  20.     Else
  21.         AngleT = Angle * 1.74532925199433E-02
  22.     End If
  23.  
  24.     Xout = (Cos(AngleT) * Radius)
  25.     Yout = (Sin(AngleT) * Radius)
  26. End Sub
  27.  
  28. '###########################
  29. '# Force betwen two points #
  30. '###########################
  31. Public Sub ForceBetwenPoints(X1, Y1, X2, Y2, LinkLenth, LinkFlex, IsRope, ByRef LinkStress, ByRef Xout1, ByRef Yout1, ByRef Xout2, ByRef Yout2)
  32. On Error Resume Next
  33. dis = Distance(X1, Y1, X2, Y2)
  34. Xout1 = ((X1 - X2) * (LinkLenth - dis)) / 1000 / LinkFlex
  35. Yout1 = ((Y1 - Y2) * (LinkLenth - dis)) / 1000 / LinkFlex
  36. Xout2 = 0 - Xout1
  37. Yout2 = 0 - Yout1
  38.  
  39. If IsRope = True And dis + 10 < LinkLenth Then
  40.     Xout1 = 0
  41.     Yout1 = 0
  42.     Xout2 = 0
  43.     Yout2 = 0
  44. End If
  45. 'Stress Caculation
  46. If dis > LinkLenth Then
  47.     LinkStress = 0 - Abs(Xout1 + Yout1) * 2
  48. Else
  49.     LinkStress = Abs(Xout1 + Yout1) * 2
  50. End If
  51. End Sub
  52.  
  53. Public Function Over0(num) 'Make numbers under 0 to 0
  54. Over0 = num
  55. If num < 0 Then Over0 = 0
  56. End Function
  57.  
  58. Public Function TrueOrFalse(inp) As Boolean ' covert 1 or 0 to bolean (for checkboxes)
  59. If Val(inp) > 0 Then TrueOrFalse = True
  60. End Function
  61.  
  62.  
  63. Public Function OneOrZero(inp As Boolean) 'boolean to 1 or 0
  64. OneOrZero = 0
  65. If inp = True Then OneOrZero = 1
  66. End Function
  67.