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

- 140.9K All Categories
- 104.4K Programming Languages
- 6.4K Assembler Developer
- 1.8K Basic
- 39.8K C and C++
- 4.2K C#
- 7.9K Delphi and Kylix
- 4 Haskell
- 9.6K Java
- 4.1K Pascal
- 1.3K Perl
- 1.9K PHP
- 507 Python
- 48 Ruby
- 4.3K VB.NET
- 1.6K VBA
- 20.8K Visual Basic
- 2.6K Game programming
- 310 Console programming
- 88 DirectX Game dev
- 1 Minecraft
- 110 Newbie Game Programmers
- 2 Oculus Rift
- 8.9K Applications
- 1.8K Computer Graphics
- 726 Computer Hardware
- 3.4K Database & SQL
- 521 Electronics development
- 1.6K Matlab
- 627 Sound & Music
- 256 XML Development
- 3.3K Classifieds
- 194 Co-operative Projects
- 181 For sale
- 189 FreeLance Software City
- 1.9K Jobs Available
- 600 Jobs Wanted
- 201 Wanted
- 2.9K Microsoft .NET
- 1.7K ASP.NET
- 1.1K .NET General
- 3.1K Miscellaneous
- 3 Join the Team
- 0 User Profiles
- 349 Comments on this site
- 59 Computer Emulators
- 1.9K General programming
- 178 New programming languages
- 596 Off topic board
- 161 Mobile & Wireless
- 35 Android
- 124 Palm Pilot
- 335 Multimedia
- 151 Demo programming
- 184 MP3 programming
- 0 Bash scripts
- 18 Cloud Computing
- 52 FreeBSD
- 1.7K LINUX programming
- 367 MS-DOS
- 0 Shell scripting
- 320 Windows CE & Pocket PC
- 4.1K Windows programming
- 882 Software Development
- 405 Algorithms
- 68 Object Orientation
- 86 Project Management
- 88 Quality & Testing
- 234 Security
- 7.5K WEB-Development
- 1.8K Active Server Pages
- 61 AJAX
- 2 Bootstrap Themes
- 55 CGI Development
- 19 ColdFusion
- 222 Flash development
- 1.4K HTML & WEB-Design
- 1.4K Internet Development
- 2.2K JavaScript
- 33 JQuery
- 285 WEB Servers
- 130 WEB-Services / SOAP

Claur
Posts: **1**Member

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?

About & Contact / Terms of use / Privacy statement / Publisher: Lars Hagelin

Programmers Heaven articles / Programmers Heaven files / Programmers Heaven uploaded content / Programmers Heaven C Sharp ebook / Operated by CommunityHeaven LLC

© 1997-2013 Programmersheaven.com - All rights reserved.

## Comments

75Member:

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

748Member:

p=Math.Pi

a=Math.Sin(42)

and so on....

Regards,

Dr M.