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

- 140.8K All Categories
- 103.6K Programming Languages
- 6.5K Assembler Developer
- 1.9K Basic
- 39.9K C and C++
- 2.9K C#
- 7.9K Delphi and Kylix
- 4 Haskell
- 9.7K Java
- 4.1K Pascal
- 1.3K Perl
- 2K PHP
- 543 Python
- 37 Ruby
- 4.4K VB.NET
- 1.6K VBA
- 20.8K Visual Basic
- 2.6K Game programming
- 315 Console programming
- 90 DirectX Game dev
- 1 Minecraft
- 112 Newbie Game Programmers
- 2 Oculus Rift
- 9K Applications
- 1.8K Computer Graphics
- 739 Computer Hardware
- 3.4K Database & SQL
- 535 Electronics development
- 1.6K Matlab
- 628 Sound & Music
- 257 XML Development
- 3.3K Classifieds
- 199 Co-operative Projects
- 198 For sale
- 190 FreeLance Software City
- 1.9K Jobs Available
- 603 Jobs Wanted
- 208 Wanted
- 2.9K Microsoft .NET
- 1.8K ASP.NET
- 1.1K .NET General
- 3.4K Miscellaneous
- 8 Join the Team
- 354 Comments on this site
- 69 Computer Emulators
- 2.1K General programming
- 187 New programming languages
- 626 Off topic board
- 196 Mobile & Wireless
- 68 Android
- 126 Palm Pilot
- 338 Multimedia
- 154 Demo programming
- 184 MP3 programming
- Bash scripts
- 27 Cloud Computing
- 53 FreeBSD
- 1.7K LINUX programming
- 370 MS-DOS
- Shell scripting
- 321 Windows CE & Pocket PC
- 4.1K Windows programming
- 938 Software Development
- 416 Algorithms
- 68 Object Orientation
- 91 Project Management
- 94 Quality & Testing
- 268 Security
- 7.7K WEB-Development
- 1.8K Active Server Pages
- 61 AJAX
- 4 Bootstrap Themes
- 55 CGI Development
- 28 ColdFusion
- 224 Flash development
- 1.4K HTML & WEB-Design
- 1.4K Internet Development
- 2.2K JavaScript
- 36 JQuery
- 300 WEB Servers
- 150 WEB-Services / SOAP

Claur
Posts: **1**

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?

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

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

## Comments

75:

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

748:

p=Math.Pi

a=Math.Sin(42)

and so on....

Regards,

Dr M.