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

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?

Comments

  • FazFaz 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
    Blink = True
    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
  • DrMartenDrMarten 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.

Sign In or Register to comment.