# VB and trig functions

I am looking for a way to use the trigonometric functions sin, cosine and tangent, as well as someway of inpuing the value of Pi into a VB program? Any ideas how I can do this, or is it fairly impossible?

• : I am looking for a way to use the trigonometric functions sin, cosine and tangent, as well as someway of inpuing the value of Pi into a VB program? Any ideas how I can do this, or is it fairly impossible?
:
Quite easily actually, though I'm sure that Pi isn't actually a recognized constant in VB. Just Dim it in at the start of the code:

Dim Pi As Long
Pi = 3.1415972 'To whatever degree of accuracy you know of

The sin, cos and tan functions can be used in VB, simply by saying:

1 = Sin(90)
y = Sin(x) 'To use variables

I used the cartesian equations to make a circle in a form.

Make the X and Y position of an image as MyX and MyY for example,

Use the known equation:
Sin(t)^2 + Cos(t)^2 = 1

From this substitute X = Sin(t) and Y = Cos(t)
X^2 + Y^2 = 1 This is a cartesian equation of a circle.

t is a third variable, which is the counter for the loop.

When t is 0, the image is at the start point. Set the limit for t to be high for a long loop or low for a speedy loop. The image will spin around a centre point in the shape of a circle.

X^2 + Y^2 = 1
X^2 + Y^2 = R^2
General cartesian equations are like this. To make an equation where the Radius is 3 and the centre point is co-ordinate (5,8):
(X-5)^2 + (Y-8)^2 = 3^2 = 9

If you don't have a clue what I mean, check it out yourself. You'll need a userform with 3 OptionButtons called Ball, Ball2 and Ball3.
Enjoy! Have a play with the code.

Copy this code into the declarations of a userform code:

Private Sub UserForm_Activate()
Looper = 0
Finish = False
Speed = 100 'Higher value here is actually slower
Radius = 3 'Recommend < 15
Squash = 2 '2 is Normal circle
Looper2 = 0
Speed2 = 200 'Higher value here is actually slower
Radius2 = 6 'Recommend < 15
Squash2 = 2 '2 is Normal circle
Looper3 = 0
Speed3 = 300 'Higher value here is actually slower
Radius3 = 9 'Recommend < 15
Squash3 = 2 '2 is Normal circle
Pi = 3.1415972
Do
DoEvents
'MAIN LOOP

If Looper > Speed * Pi Then
Looper = 0
Else
Looper = Looper + 1
End If
Ball.Left = Cos(Looper / (Speed / 2) - 1) * Radius ^ 2 + 216
Ball.Top = Sin(Looper / (Speed / 2) - 1) * Radius ^ Squash + 159

'MAIN LOOP
If Looper2 > Speed2 * Pi Then
Looper2 = 0
Else
Looper2 = Looper2 + 1
End If
Ball2.Left = Cos(Looper2 / (Speed2 / 2) - 1) * Radius2 ^ 2 + 216
Ball2.Top = Sin(Looper2 / (Speed2 / 2) - 1) * Radius2 ^ Squash2 + 159

'MAIN LOOP
If Looper3 > Speed3 * Pi Then
Looper3 = 0
Else
Looper3 = Looper3 + 1
End If
Ball3.Left = Cos(Looper3 / (Speed3 / 2) - 1) * Radius3 ^ 2 + 216
Ball3.Top = Sin(Looper3 / (Speed3 / 2) - 1) * Radius3 ^ Squash3 + 159
If Finish Then: Exit Do
Loop
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Finish = True
End Sub
• : I am looking for a way to use the trigonometric functions sin, cosine and tangent, as well as someway of inpuing the value of Pi into a VB program? Any ideas how I can do this, or is it fairly impossible?
:

p=Math.Pi

a=Math.Sin(42)

and so on....

Regards,

Dr M.