Lesson 19 · VB2022 Tutorial

Trigonometric Functions in Visual Basic 2022

Lesson 19 covers trigonometric functions using the same proven VBTutor lesson layout, now adapted for Visual Basic 2022 and Visual Studio 2022.

Lesson reading progress

Lesson Overview

Lesson 19 of 40
Topic Trigonometric Functions
Focus Visual Studio 2022 · VB.NET
Goal Build practical apps and concepts
Upgrade Path VB.NET 2026 / Advanced VB.NET

Key Takeaway

This lesson focuses on trigonometric functions in Visual Basic 2022.

Key Takeaway

VB2022 provides powerful trigonometric functions that work with radians. Understanding how to convert between degrees and radians is essential for accurate calculations in physics, engineering, and game development.

Welcome to Lesson 19 of our Visual Basic 2022 Tutorial! In this lesson, you'll learn how to leverage VB2022's trigonometric functions to solve complex mathematical problems, create animations, and develop scientific applications.

Radians vs Degrees

Visual Basic trigonometric functions work with radians, not degrees. Convert angles using the formula:

radians = degrees × (π / 180)

Where π can be precisely calculated as Math.PI or 2 * Math.Asin(1)

19.1 Core Trigonometric Functions

These fundamental trigonometric functions are essential for geometric calculations and scientific applications.

Math.Sin Function

Returns the sine of an angle in radians. Used in wave calculations and physics simulations.

Syntax: Math.Sin(angleInRadians)
SineExample.vb
Private Sub BtnCalculate_Click(sender As Object, e As EventArgs) Handles BtnCalculate.Click
    ' Convert degrees to radians
    Dim degrees As Double = Val(txtDegrees.Text)
    Dim radians As Double = degrees * Math.PI / 180
    
    ' Calculate sine value
    Dim sineValue As Double = Math.Sin(radians)
    
    lblResult.Text = "Sin(" & degrees & "°) = " & Math.Round(sineValue, 4)
End Sub

Output Preview

Input: 90 → Output: Sin(90°) = 1.0

Input: 30 → Output: Sin(30°) = 0.5

Input: 0 → Output: Sin(0°) = 0.0

Math.Cos Function

Returns the cosine of an angle in radians. Essential for circular motion calculations.

Syntax: Math.Cos(angleInRadians)
CosineExample.vb
Private Sub BtnCalculate_Click(sender As Object, e As EventArgs) Handles BtnCalculate.Click
    Dim degrees As Double = Val(txtDegrees.Text)
    Dim radians As Double = degrees * Math.PI / 180
    
    ' Calculate cosine value
    Dim cosineValue As Double = Math.Cos(radians)
    
    lblResult.Text = "Cos(" & degrees & "°) = " & Math.Round(cosineValue, 4)
End Sub

Output Preview

Input: 0 → Output: Cos(0°) = 1.0

Input: 60 → Output: Cos(60°) = 0.5

Input: 90 → Output: Cos(90°) = 0.0

Math.Tan Function

Returns the tangent of an angle in radians. Useful for slope calculations and trigonometry.

Syntax: Math.Tan(angleInRadians)
TangentExample.vb
Private Sub BtnCalculate_Click(sender As Object, e As EventArgs) Handles BtnCalculate.Click
    Dim degrees As Double = Val(txtDegrees.Text)
    Dim radians As Double = degrees * Math.PI / 180
    
    ' Calculate tangent value
    If degrees % 90 = 0 And degrees % 180 != 0 Then
        lblResult.Text = "Tan(" & degrees & "°) is undefined"
    Else
        Dim tangentValue As Double = Math.Tan(radians)
        lblResult.Text = "Tan(" & degrees & "°) = " & Math.Round(tangentValue, 4)
    End If
End Sub

Output Preview

Input: 45 → Output: Tan(45°) = 1.0

Input: 30 → Output: Tan(30°) = 0.5774

Input: 90 → Output: Tan(90°) is undefined

19.2 Inverse Trigonometric Functions

These functions return the angle (in radians) for a given trigonometric ratio.

Math.Asin Function

Returns the arcsine (inverse sine) in radians for a value between -1 and 1.

Syntax: Math.Asin(value)
AsinExample.vb
Private Sub BtnCalculate_Click(sender As Object, e As EventArgs) Handles BtnCalculate.Click
    Dim value As Double = Val(txtValue.Text)
    
    If value < -1 Or value > 1 Then
        lblResult.Text = "Input must be between -1 and 1"
    Else
        Dim radians As Double = Math.Asin(value)
        Dim degrees As Double = radians * 180 / Math.PI
        lblResult.Text = "Asin(" & value & ") = " & Math.Round(degrees, 2) & "°"
    End If
End Sub

Output Preview

Input: 0.5 → Output: Asin(0.5) = 30°

Input: 1 → Output: Asin(1) = 90°

Input: -0.5 → Output: Asin(-0.5) = -30°

Math.Acos Function

Returns the arccosine (inverse cosine) in radians for a value between -1 and 1.

Syntax: Math.Acos(value)
AcosExample.vb
Private Sub BtnCalculate_Click(sender As Object, e As EventArgs) Handles BtnCalculate.Click
    Dim value As Double = Val(txtValue.Text)
    
    If value < -1 Or value > 1 Then
        lblResult.Text = "Input must be between -1 and 1"
    Else
        Dim radians As Double = Math.Acos(value)
        Dim degrees As Double = radians * 180 / Math.PI
        lblResult.Text = "Acos(" & value & ") = " & Math.Round(degrees, 2) & "°"
    End If
End Sub

Output Preview

Input: 0.5 → Output: Acos(0.5) = 60°

Input: 0 → Output: Acos(0) = 90°

Input: 1 → Output: Acos(1) = 0°

Math.Atan Function

Returns the arctangent (inverse tangent) in radians for any real number.

Syntax: Math.Atan(value)
AtanExample.vb
Private Sub BtnCalculate_Click(sender As Object, e As EventArgs) Handles BtnCalculate.Click
    Dim value As Double = Val(txtValue.Text)
    
    ' Calculate arctangent
    Dim radians As Double = Math.Atan(value)
    Dim degrees As Double = radians * 180 / Math.PI
    
    lblResult.Text = "Atan(" & value & ") = " & Math.Round(degrees, 2) & "°"
End Sub

Output Preview

Input: 1 → Output: Atan(1) = 45°

Input: 0.577 → Output: Atan(0.577) ≈ 30°

Input: 1.732 → Output: Atan(1.732) ≈ 60°

19.3 Practical Applications

Trigonometric functions are essential for solving real-world problems in physics, engineering, and game development.

Calculating Distances

Use trigonometry to calculate distances when angles are known. For example, finding the height of a tree using the angle of elevation.

DistanceCalculator.vb
Private Sub BtnCalculateHeight_Click(sender As Object, e As EventArgs) Handles BtnCalculateHeight.Click
    ' Get user inputs
    Dim distance As Double = Val(txtDistance.Text)
    Dim angleDegrees As Double = Val(txtAngle.Text)
    
    ' Convert angle to radians
    Dim angleRadians As Double = angleDegrees * Math.PI / 180
    
    ' Calculate height: height = distance * tan(angle)
    Dim height As Double = distance * Math.Tan(angleRadians)
    
    lblResult.Text = "The height is: " & Math.Round(height, 2) & " units"
End Sub

Output Preview

Distance: 20 units, Angle: 30° → Height: ≈11.55 units

Distance: 50 units, Angle: 45° → Height: 50 units

Distance: 100 units, Angle: 60° → Height: ≈173.21 units

Projectile Motion

Calculate the range and maximum height of a projectile using trigonometric functions.

ProjectileMotion.vb
Private Sub BtnCalculateProjectile_Click(sender As Object, e As EventArgs) Handles BtnCalculateProjectile.Click
    Const g As Double = 9.81  ' Gravity
    Dim velocity As Double = Val(txtVelocity.Text)
    Dim angle As Double = Val(txtAngle.Text)
    
    ' Convert angle to radians
    Dim radians As Double = angle * Math.PI / 180
    
    ' Calculate range and height
    Dim range As Double = (velocity * velocity * Math.Sin(2 * radians)) / g
    Dim maxHeight As Double = (velocity * velocity * Math.Pow(Math.Sin(radians), 2)) / (2 * g)
    
    lblResult.Text = "Range: " & Math.Round(range, 2) & " m | Max Height: " & Math.Round(maxHeight, 2) & " m"
End Sub

Output Preview

Velocity: 20 m/s, Angle: 45° → Range: 40.77 m, Height: 10.19 m

Velocity: 30 m/s, Angle: 30° → Range: 79.53 m, Height: 11.47 m

Velocity: 50 m/s, Angle: 60° → Range: 220.92 m, Height: 95.66 m

Trigonometric Functions Summary

Here's a quick reference for all trigonometric functions covered in this lesson:

Function Description Example Range
Math.Sin(angle) Sine of angle (radians) Sin(π/2) = 1 [-1, 1]
Math.Cos(angle) Cosine of angle (radians) Cos(π) = -1 [-1, 1]
Math.Tan(angle) Tangent of angle (radians) Tan(π/4) = 1 All real numbers
Math.Asin(value) Arcsine in radians Asin(1) = π/2 [-π/2, π/2]
Math.Acos(value) Arccosine in radians Acos(0) = π/2 [0, π]
Math.Atan(value) Arctangent in radians Atan(1) = π/4 [-π/2, π/2]

Radians Conversion

Always convert degrees to radians: radians = degrees × (π / 180)

Precision

Use Math.PI for accurate π value instead of 3.14159

Domain Validation

Validate inputs for inverse functions (Asin, Acos) to be between -1 and 1

Practical Exercises

Apply your trigonometric knowledge with these hands-on exercises:

Exercise 1: Circle Coordinate Generator

Create a program that generates coordinates of points on a circle. The user inputs the radius and number of points. Calculate the (x, y) coordinates using:

  • x = radius × cos(angle)
  • y = radius × sin(angle)

Display the coordinates in a list box.

Exercise 2: Triangle Solver

Build an application that solves for unknown sides and angles of a right triangle. The user should be able to input any two values (sides or angles) and the program calculates the remaining values using trigonometric functions.

Exercise 3: Pendulum Simulator

Create a simple pendulum simulation. The pendulum position at time t is given by:

θ(t) = θ₀ × cos(√(g/L) × t)

Where θ₀ is initial angle, g is gravity (9.81), L is length. Visualize the pendulum motion using graphics.

Exercise 4: Trigonometric Identities Verifier

Develop a program that verifies trigonometric identities like:

  • sin²θ + cos²θ = 1
  • tan(θ) = sin(θ)/cos(θ)
  • sin(2θ) = 2sinθcosθ

Allow the user to input an angle and see if the identity holds true.

Next Lesson

Ready to learn about formatting output? Continue to Lesson 20: Format Function in VB2022.

Related Resources

VB6 Tutorial

Mastering VB6 Programming

Explore Tutorials

Visual Basic Examples

Practical VB code samples for real-world applications

View Examples

Excel VBA Tutorial

Learn how to automate Excel by creating VBA macros

Learn More

Lesson Summary

You have completed Lesson 19: Trigonometric Functions.

Core concept

You studied trigonometric functions in VB2022.

Practical focus

The lesson follows the same classic VBTutor learning path and structure.

Modern tools

Examples are positioned around Visual Studio 2022 and VB.NET workflows.

Next step

Continue to Lesson 20 to keep progressing through the course.

Continue with the next lesson to build your VB2022 skills step by step.

Next Lesson

Ready to continue?

Lesson 20: Format Function

Explore More VB.NET Resources

VB2022 Tutorial Home

Full index of the VB2022 tutorial.

Open Resource

VB.NET 2026 Tutorial

Move to the latest VB.NET version.

Open Resource

VB Examples

Practical sample code and examples.

Open Resource

My Books

Browse Visual Basic books and references.

Open Resource