C# Program to Find the Value of Sin(x) - GeeksforGeeks

30 Nov, 2021
Sin(x) is also known as Sine. It is a trigonometric function of an angle. In a right-angled triangle, the ratio of the length of the perpendicular to the length of the hypotenuse is known as the sine of an angle.
sin θ = perpendicular / hypotenuse
The values of sine of some of the comman angles are given below,
sin 0°  = 0sin 30° = 1 / 2sin 45° = 1 / √2sin 60° = √3 / 2sin 90° = 1
sin 0°  = 0
sin 30° = 1 / 2
sin 45° = 1 / √2
sin 60° = √3 / 2
sin 90° = 1
This article focuses upon how we can calculate the sine of an angle by in C#.
We can calculate the sine of an angle by using the inbuilt sin() method. This method is defined under the Math class and is a part of the system namespace. Math class is quite useful as it provides constants and some of the static methods for trigonometric, logarithmic, etc.
Syntax:
public static double Sin (double angle);
Parameter:
angle: A double value (angle in radian)
Return type:
double: If “angle” is double
NaN: If “angle” is equal to NaN, NegativeInfinity, or PositiveInfinity 
Example 1:
C#
// C# program to illustrate how we can // calculate the value of sin(x)// using Sin() methodusing System.IO;using System;  class GFG{      static void Main(){          // Angle in degree     double angleInDegree1 = 0;          // Converting angle in radian    // since Math.sin() method accepts    // angle in radian    double angleInRadian1 = (angleInDegree1 * (Math.PI)) / 180;          // Using Math.Sin() method to calculate value of sine    Console.WriteLine("The value of sin({0}) = {1} ",                       angleInDegree1, Math.Sin(angleInRadian1));                            // Angle in degree     double angleInDegree2 = 45;          // Converting angle in radian    // since Math.sin() method accepts    // angle in radian    double angleInRadian2 = (angleInDegree2 * (Math.PI)) / 180;          // Using Math.Sin() method to calculate value of sine    Console.WriteLine("The value of sin({0}) = {1} ",                       angleInDegree2, Math.Sin(angleInRadian2));          // Angle in degree     double angleInDegree3 = 90;             // Converting angle in radian    // since Math.sin() method accepts    // angle in radian    double angleInRadian3 = (angleInDegree3 * (Math.PI)) / 180;          // Using Math.Sin() method to calculate value of sine    Console.WriteLine("The value of sin({0}) = {1} ",                       angleInDegree3, Math.Sin(angleInRadian3));          // Angle in degree     double angleInDegree4 = 135;             // Converting angle in radian    // since Math.sin() method accepts    // angle in radian    double angleInRadian4 = (angleInDegree4 * (Math.PI)) / 180;          // Using Math.Sin() method to calculate value of sine    Console.WriteLine("The value of sin({0}) = {1} ",                       angleInDegree4, Math.Sin(angleInRadian4));}}
The value of sin(0) = 0 
The value of sin(45) = 0.707106781186547 
The value of sin(90) = 1 
The value of sin(135) = 0.707106781186548 
Example 2:
C#
// C# program to illustrate how we can // calculate the value of sin(x)// using Sin() methodusing System;  class GFG{  static public void Main(){          // Angle in radian    double angle1 = Double.NegativeInfinity;          // Angle in radian    double angle2 = Double.PositiveInfinity;          // Angle in radian    double angle3 = Double.NaN;          // Using Math.Sin() method to calculate value of sine    Console.WriteLine("The value of sin({0}) = {1} ",                       angle1, Math.Sin(angle1));          // Using Math.Sin() method to calculate value of sine    Console.WriteLine("The value of sin({0}) = {1} ",                       angle2, Math.Sin(angle2));          // Using Math.Sin() method to calculate value of sine    Console.WriteLine("The value of sin({0}) = {1} ",                       angle3, Math.Sin(angle3));}}
Output
Sine of angle1: NaN
Sine of angle2: NaN
Sine of angle3: NaN
We can calculate the value of sine of an angle using Maclaurin expansion. So the Maclaurin series expansion for sin(x) is:
sin(x) = x - x3 / 3! + x5 / 5! - x7 / 7! + ....
Follow the steps given below to find the value of sin(x):
Initialize a variable angleInDegree that stores the angle (in degree) to be calculated.Initialize another variable terms that stores the number of terms for which we can approximate the value of sin(x).Declare a global function findSinx.Declare a variable current. It stores the angle in radians.Initialize a variable answer with current. It will store our final answer.Initialize another variable temp with current.Iterate from i = 1 to i = terms. At each step update temp as temp as ((-temp) * current * current) / ((2 * i) * (2 * i + 1)) and answer as answer + temp.Eventually, return the answer from findSinX function.Print the answer.
Initialize a variable angleInDegree that stores the angle (in degree) to be calculated.
Initialize another variable terms that stores the number of terms for which we can approximate the value of sin(x).
Declare a global function findSinx.
Declare a variable current. It stores the angle in radians.
Initialize a variable answer with current. It will store our final answer.
Initialize another variable temp with current.
Iterate from i = 1 to i = terms. At each step update temp as temp as ((-temp) * current * current) / ((2 * i) * (2 * i + 1)) and answer as answer + temp.
Eventually, return the answer from findSinX function.
Print the answer.
This formula can compute the value of sine for all real values of x.
Example:
C#
// C# program to illustrate how we can // calculate the value of sin(x)// using Maclaurin's methodusing System;  class GFG{  static double findSinX(int angleInDegree, int terms){          // Converting angle in degree into radian     double current = Math.PI * angleInDegree / 180f;          // Declaring variable to calculate final answer    double answer = current;    double temp = current;          // Loop till number of steps provided by the user    for(int i = 1; i <= terms; i++)    {                  // Updating temp and answer accordingly        temp = ((-temp) * current * current) /                     ((2 * i) * (2 * i + 1));        answer = answer + temp;    }      // Return the final answer    return answer;}  // Driver codestatic public void Main(){          // Angle in degree    int angleInDegree1 = 45;        // Number of steps     int terms1 = 10;      // Calling function to calculate sine of angle    double answer1 = findSinX(angleInDegree1, terms1);      // Print the final answer    Console.WriteLine("The value of sin({0}) = {1}",                       angleInDegree1, answer1);          // Angle in degree    int angleInDegree2 = 90;          // Number of steps    int terms2 = 20;      // Calling function to calculate sine of angle          double result2 = findSinX(angleInDegree2, terms2);      // Print the final answer    Console.WriteLine("The value of sin({0}) = {1}",                       angleInDegree2, result2);          // Angle in degree    int angleInDegree3 = 135;      // Number of steps    int terms3 = 30;      // Calling function to calculate sine of angle              double result3 = findSinX(angleInDegree3, terms3);      // Print the final answer    Console.WriteLine("The value of sin({0}) = {1}",                       angleInDegree3, result3);          // Angle in degree    int angleInDegree4 = 180;        // Number of steps    int terms4 = 40;          // Calling function to calculate sine of angle    double result4 = findSinX(angleInDegree4, terms4);      // Print the final answer    Console.WriteLine("The value of sin({0}) = {1}",                       angleInDegree4, result4);}}
The value of sin(45) = 0.707106781186547
The value of sin(90) = 1
The value of sin(135) = 0.707106781186548
The value of sin(180) = 2.34898825287367E-16
 
CSharp-Math
Picked
C#
C# Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Extension Method in C#
Top 50 C# Interview Questions & Answers
Partial Classes in C#
HashSet in C# with Examples
C# | Inheritance
Convert String to Character Array in C#
Socket Programming in C#
Getting a Month Name Using Month Number in C#
Program to Print a New Line in C#
Program to find absolute value of a given number