VB and trig functions - Programmers Heaven

#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

#### Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

# VB and trig functions

Posts: 1Member
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?

• Posts: 75Member
: 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
• Posts: 748Member
: 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.