Sin Method

Math.Sin Method

.NET Framework 1.1

Returns the sine of the specified angle.

```[Visual Basic]
Public Shared Function Sin( _
ByVal a As Double _
) As Double
[C#]
public static double Sin(
double a
);
[C++]
public: static double Sin(
double a
);
[JScript]
public static function Sin(
a : double
) : double;```

a

Return Value

The sine of a. If a is equal to NaN, NegativeInfinity, or PositiveInfinity, this method returns NaN.

Remarks

The angle, a, must be in radians. Multiply by &pi;/180 to convert degrees to radians.

Example

[Visual Basic, C#, C++] The following example uses Sin to evaluate certain trigonometric identities for selected angles.

```[Visual Basic]
' Example for the trigonometric Math.Sin( Double ) and Math.Cos( Double ) methods.
Imports System
Imports Microsoft.VisualBasic

Module SinCos

Sub Main()
Console.WriteLine( _
"This example of trigonometric " & _
"Math.Sin( double ) and Math.Cos( double )" & vbCrLf & _
"generates the following output." & vbCrLf)
Console.WriteLine( _
"Convert selected values for X to radians " & vbCrLf & _
"and evaluate these trigonometric identities:")
Console.WriteLine( _
"   sin^2(X) + cos^2(X) = 1" & vbCrLf & _
"   sin(2 * X) = 2 * sin(X) * cos(X)")
Console.WriteLine("   cos(2 * X) = cos^2(X) - sin^2(X)")

UseSineCosine(15.0)
UseSineCosine(30.0)
UseSineCosine(45.0)

Console.WriteLine( _
vbCrLf & "Convert selected values for X and Y to radians" & _
vbCrLf & "and evaluate these trigonometric identities:")
Console.WriteLine("   sin(X + Y) = sin(X) * cos(Y) + cos(X) * sin(Y)")
Console.WriteLine("   cos(X + Y) = cos(X) * cos(Y) - sin(X) * sin(Y)")

UseTwoAngles(15.0, 30.0)
UseTwoAngles(30.0, 45.0)
End Sub 'Main

' Evaluate trigonometric identities with a given angle.
Sub UseSineCosine(degrees As Double)

Dim angle As Double = Math.PI * degrees / 180.0
Dim sinAngle As Double = Math.Sin(angle)
Dim cosAngle As Double = Math.Cos(angle)

' Evaluate sin^2(X) + cos^2(X) = 1.
Console.WriteLine( _
vbCrLf & "                           Math.Sin({0} deg) = {1:E16}" & _
vbCrLf & "                           Math.Cos({0} deg) = {2:E16}", _
degrees, Math.Sin(angle), Math.Cos(angle))
Console.WriteLine( _
"(Math.Sin({0} deg))^2 + (Math.Cos({0} deg))^2 = {1:E16}", _
degrees, sinAngle * sinAngle + cosAngle * cosAngle)

' Evaluate sin(2 * X) = 2 * sin(X) * cos(X).
Console.WriteLine( _
"                           Math.Sin({0} deg) = {1:E16}", _
2.0 * degrees, Math.Sin(2.0 * angle))
Console.WriteLine( _
"    2 * Math.Sin({0} deg) * Math.Cos({0} deg) = {1:E16}", _
degrees, 2.0 * sinAngle * cosAngle)

' Evaluate cos(2 * X) = cos^2(X) - sin^2(X).
Console.WriteLine( _
"                           Math.Cos({0} deg) = {1:E16}", _
2.0 * degrees, Math.Cos(2.0 * angle))
Console.WriteLine( _
"(Math.Cos({0} deg))^2 - (Math.Sin({0} deg))^2 = {1:E16}", _
degrees, cosAngle * cosAngle - sinAngle * sinAngle)

End Sub 'UseSineCosine

' Evaluate trigonometric identities that are functions of two angles.
Sub UseTwoAngles(degreesX As Double, degreesY As Double)

Dim angleX As Double = Math.PI * degreesX / 180.0
Dim angleY As Double = Math.PI * degreesY / 180.0

' Evaluate sin(X + Y) = sin(X) * cos(Y) + cos(X) * sin(Y).
Console.WriteLine( _
vbCrLf & "        Math.Sin({0} deg) * Math.Cos({1} deg) +" & _
vbCrLf & "        Math.Cos({0} deg) * Math.Sin({1} deg) = {2:E16}", _
degreesX, degreesY, Math.Sin(angleX) * Math.Cos(angleY) + _
Math.Cos(angleX) * Math.Sin(angleY))
Console.WriteLine( _
"                           Math.Sin({0} deg) = {1:E16}", _
degreesX + degreesY, Math.Sin(angleX + angleY))

' Evaluate cos(X + Y) = cos(X) * cos(Y) - sin(X) * sin(Y).
Console.WriteLine( _
"        Math.Cos({0} deg) * Math.Cos({1} deg) -" & vbCrLf & _
"        Math.Sin({0} deg) * Math.Sin({1} deg) = {2:E16}", _
degreesX, degreesY, Math.Cos(angleX) * Math.Cos(angleY) - _
Math.Sin(angleX) * Math.Sin(angleY))
Console.WriteLine( _
"                           Math.Cos({0} deg) = {1:E16}", _
degreesX + degreesY, Math.Cos(angleX + angleY))

End Sub 'UseTwoAngles
End Module 'SinCos

' This example of trigonometric Math.Sin( double ) and Math.Cos( double )
' generates the following output.
'
' Convert selected values for X to radians
' and evaluate these trigonometric identities:
'    sin^2(X) + cos^2(X) = 1
'    sin(2 * X) = 2 * sin(X) * cos(X)
'    cos(2 * X) = cos^2(X) - sin^2(X)
'
'                            Math.Sin(15 deg) = 2.5881904510252074E-001
'                            Math.Cos(15 deg) = 9.6592582628906831E-001
' (Math.Sin(15 deg))^2 + (Math.Cos(15 deg))^2 = 1.0000000000000000E+000
'                            Math.Sin(30 deg) = 4.9999999999999994E-001
'     2 * Math.Sin(15 deg) * Math.Cos(15 deg) = 4.9999999999999994E-001
'                            Math.Cos(30 deg) = 8.6602540378443871E-001
' (Math.Cos(15 deg))^2 - (Math.Sin(15 deg))^2 = 8.6602540378443871E-001
'
'                            Math.Sin(30 deg) = 4.9999999999999994E-001
'                            Math.Cos(30 deg) = 8.6602540378443871E-001
' (Math.Sin(30 deg))^2 + (Math.Cos(30 deg))^2 = 1.0000000000000000E+000
'                            Math.Sin(60 deg) = 8.6602540378443860E-001
'     2 * Math.Sin(30 deg) * Math.Cos(30 deg) = 8.6602540378443860E-001
'                            Math.Cos(60 deg) = 5.0000000000000011E-001
' (Math.Cos(30 deg))^2 - (Math.Sin(30 deg))^2 = 5.0000000000000022E-001
'
'                            Math.Sin(45 deg) = 7.0710678118654746E-001
'                            Math.Cos(45 deg) = 7.0710678118654757E-001
' (Math.Sin(45 deg))^2 + (Math.Cos(45 deg))^2 = 1.0000000000000000E+000
'                            Math.Sin(90 deg) = 1.0000000000000000E+000
'     2 * Math.Sin(45 deg) * Math.Cos(45 deg) = 1.0000000000000000E+000
'                            Math.Cos(90 deg) = 6.1230317691118863E-017
' (Math.Cos(45 deg))^2 - (Math.Sin(45 deg))^2 = 2.2204460492503131E-016
'
' Convert selected values for X and Y to radians
' and evaluate these trigonometric identities:
'    sin(X + Y) = sin(X) * cos(Y) + cos(X) * sin(Y)
'    cos(X + Y) = cos(X) * cos(Y) - sin(X) * sin(Y)
'
'         Math.Sin(15 deg) * Math.Cos(30 deg) +
'         Math.Cos(15 deg) * Math.Sin(30 deg) = 7.0710678118654746E-001
'                            Math.Sin(45 deg) = 7.0710678118654746E-001
'         Math.Cos(15 deg) * Math.Cos(30 deg) -
'         Math.Sin(15 deg) * Math.Sin(30 deg) = 7.0710678118654757E-001
'                            Math.Cos(45 deg) = 7.0710678118654757E-001
'
'         Math.Sin(30 deg) * Math.Cos(45 deg) +
'         Math.Cos(30 deg) * Math.Sin(45 deg) = 9.6592582628906831E-001
'                            Math.Sin(75 deg) = 9.6592582628906820E-001
'         Math.Cos(30 deg) * Math.Cos(45 deg) -
'         Math.Sin(30 deg) * Math.Sin(45 deg) = 2.5881904510252085E-001
'                            Math.Cos(75 deg) = 2.5881904510252096E-001

[C#]
// Example for the trigonometric Math.Sin( double )
// and Math.Cos( double ) methods.
using System;

class SinCos
{
public static void Main()
{
Console.WriteLine(
"This example of trigonometric " +
"Math.Sin( double ) and Math.Cos( double )\n" +
"generates the following output.\n" );
Console.WriteLine(
"Convert selected values for X to radians \n" +
"and evaluate these trigonometric identities:" );
Console.WriteLine( "   sin^2(X) + cos^2(X) == 1\n" +
"   sin(2 * X) == 2 * sin(X) * cos(X)" );
Console.WriteLine( "   cos(2 * X) == cos^2(X) - sin^2(X)" );

UseSineCosine(15.0);
UseSineCosine(30.0);
UseSineCosine(45.0);

Console.WriteLine(
"\nConvert selected values for X and Y to radians \n" +
"and evaluate these trigonometric identities:" );
Console.WriteLine( "   sin(X + Y) == sin(X) * cos(Y) + cos(X) * sin(Y)" );
Console.WriteLine( "   cos(X + Y) == cos(X) * cos(Y) - sin(X) * sin(Y)" );

UseTwoAngles(15.0, 30.0);
UseTwoAngles(30.0, 45.0);
}

// Evaluate trigonometric identities with a given angle.
static void UseSineCosine(double degrees)
{
double angle    = Math.PI * degrees / 180.0;
double sinAngle = Math.Sin(angle);
double cosAngle = Math.Cos(angle);

// Evaluate sin^2(X) + cos^2(X) == 1.
Console.WriteLine(
"\n                           Math.Sin({0} deg) == {1:E16}\n" +
"                           Math.Cos({0} deg) == {2:E16}",
degrees, Math.Sin(angle), Math.Cos(angle) );
Console.WriteLine(
"(Math.Sin({0} deg))^2 + (Math.Cos({0} deg))^2 == {1:E16}",
degrees, sinAngle * sinAngle + cosAngle * cosAngle );

// Evaluate sin(2 * X) == 2 * sin(X) * cos(X).
Console.WriteLine(
"                           Math.Sin({0} deg) == {1:E16}",
2.0 * degrees, Math.Sin(2.0 * angle) );
Console.WriteLine(
"    2 * Math.Sin({0} deg) * Math.Cos({0} deg) == {1:E16}",
degrees, 2.0 * sinAngle * cosAngle );

// Evaluate cos(2 * X) == cos^2(X) - sin^2(X).
Console.WriteLine(
"                           Math.Cos({0} deg) == {1:E16}",
2.0 * degrees, Math.Cos(2.0 * angle) );
Console.WriteLine(
"(Math.Cos({0} deg))^2 - (Math.Sin({0} deg))^2 == {1:E16}",
degrees, cosAngle * cosAngle - sinAngle * sinAngle );
}

// Evaluate trigonometric identities that are functions of two angles.
static void UseTwoAngles(double degreesX, double degreesY)
{
double  angleX  = Math.PI * degreesX / 180.0;
double  angleY  = Math.PI * degreesY / 180.0;

// Evaluate sin(X + Y) == sin(X) * cos(Y) + cos(X) * sin(Y).
Console.WriteLine(
"\n        Math.Sin({0} deg) * Math.Cos({1} deg) +\n" +
"        Math.Cos({0} deg) * Math.Sin({1} deg) == {2:E16}",
degreesX, degreesY, Math.Sin(angleX) * Math.Cos(angleY) +
Math.Cos(angleX) * Math.Sin(angleY));
Console.WriteLine(
"                           Math.Sin({0} deg) == {1:E16}",
degreesX + degreesY, Math.Sin(angleX + angleY));

// Evaluate cos(X + Y) == cos(X) * cos(Y) - sin(X) * sin(Y).
Console.WriteLine(
"        Math.Cos({0} deg) * Math.Cos({1} deg) -\n" +
"        Math.Sin({0} deg) * Math.Sin({1} deg) == {2:E16}",
degreesX, degreesY, Math.Cos(angleX) * Math.Cos(angleY) -
Math.Sin(angleX) * Math.Sin(angleY));
Console.WriteLine(
"                           Math.Cos({0} deg) == {1:E16}",
degreesX + degreesY, Math.Cos(angleX + angleY));
}
}

/*
This example of trigonometric Math.Sin( double ) and Math.Cos( double )
generates the following output.

Convert selected values for X to radians
and evaluate these trigonometric identities:
sin^2(X) + cos^2(X) == 1
sin(2 * X) == 2 * sin(X) * cos(X)
cos(2 * X) == cos^2(X) - sin^2(X)

Math.Sin(15 deg) == 2.5881904510252074E-001
Math.Cos(15 deg) == 9.6592582628906831E-001
(Math.Sin(15 deg))^2 + (Math.Cos(15 deg))^2 == 1.0000000000000000E+000
Math.Sin(30 deg) == 4.9999999999999994E-001
2 * Math.Sin(15 deg) * Math.Cos(15 deg) == 4.9999999999999994E-001
Math.Cos(30 deg) == 8.6602540378443871E-001
(Math.Cos(15 deg))^2 - (Math.Sin(15 deg))^2 == 8.6602540378443871E-001

Math.Sin(30 deg) == 4.9999999999999994E-001
Math.Cos(30 deg) == 8.6602540378443871E-001
(Math.Sin(30 deg))^2 + (Math.Cos(30 deg))^2 == 1.0000000000000000E+000
Math.Sin(60 deg) == 8.6602540378443860E-001
2 * Math.Sin(30 deg) * Math.Cos(30 deg) == 8.6602540378443860E-001
Math.Cos(60 deg) == 5.0000000000000011E-001
(Math.Cos(30 deg))^2 - (Math.Sin(30 deg))^2 == 5.0000000000000022E-001

Math.Sin(45 deg) == 7.0710678118654746E-001
Math.Cos(45 deg) == 7.0710678118654757E-001
(Math.Sin(45 deg))^2 + (Math.Cos(45 deg))^2 == 1.0000000000000000E+000
Math.Sin(90 deg) == 1.0000000000000000E+000
2 * Math.Sin(45 deg) * Math.Cos(45 deg) == 1.0000000000000000E+000
Math.Cos(90 deg) == 6.1230317691118863E-017
(Math.Cos(45 deg))^2 - (Math.Sin(45 deg))^2 == 2.2204460492503131E-016

Convert selected values for X and Y to radians
and evaluate these trigonometric identities:
sin(X + Y) == sin(X) * cos(Y) + cos(X) * sin(Y)
cos(X + Y) == cos(X) * cos(Y) - sin(X) * sin(Y)

Math.Sin(15 deg) * Math.Cos(30 deg) +
Math.Cos(15 deg) * Math.Sin(30 deg) == 7.0710678118654746E-001
Math.Sin(45 deg) == 7.0710678118654746E-001
Math.Cos(15 deg) * Math.Cos(30 deg) -
Math.Sin(15 deg) * Math.Sin(30 deg) == 7.0710678118654757E-001
Math.Cos(45 deg) == 7.0710678118654757E-001

Math.Sin(30 deg) * Math.Cos(45 deg) +
Math.Cos(30 deg) * Math.Sin(45 deg) == 9.6592582628906831E-001
Math.Sin(75 deg) == 9.6592582628906820E-001
Math.Cos(30 deg) * Math.Cos(45 deg) -
Math.Sin(30 deg) * Math.Sin(45 deg) == 2.5881904510252085E-001
Math.Cos(75 deg) == 2.5881904510252096E-001
*/

[C++]
// Example for the trigonometric Math.Sin( double )
// and Math.Cos( double ) methods.
#using <mscorlib.dll>
using namespace System;

// Evaluate trigonometric identities with a given angle.
void UseSineCosine(double degrees)
{
double angle    = Math::PI * degrees / 180.0;
double sinAngle = Math::Sin(angle);
double cosAngle = Math::Cos(angle);

// Evaluate sin^2(X) + cos^2(X) == 1.
Console::WriteLine(
S"\n                            Math::Sin({0} deg) == {1:E16}\n"
S"                            Math::Cos({0} deg) == {2:E16}",
__box(degrees), __box(Math::Sin(angle)),
__box(Math::Cos(angle)) );
Console::WriteLine(
S"(Math::Sin({0} deg))^2 + (Math::Cos({0} deg))^2 == {1:E16}",
__box(degrees),
__box(sinAngle * sinAngle + cosAngle * cosAngle) );

// Evaluate sin(2 * X) == 2 * sin(X) * cos(X).
Console::WriteLine(
S"                            Math::Sin({0} deg) == {1:E16}",
__box(2.0 * degrees), __box(Math::Sin(2.0 * angle)) );
Console::WriteLine(
S"    2 * Math::Sin({0} deg) * Math::Cos({0} deg) == {1:E16}",
__box(degrees), __box(2.0 * sinAngle * cosAngle) );

// Evaluate cos(2 * X) == cos^2(X) - sin^2(X).
Console::WriteLine(
S"                            Math::Cos({0} deg) == {1:E16}",
__box(2.0 * degrees), __box(Math::Cos(2.0 * angle)) );
Console::WriteLine(
S"(Math::Cos({0} deg))^2 - (Math::Sin({0} deg))^2 == {1:E16}",
__box(degrees),
__box(cosAngle * cosAngle - sinAngle * sinAngle) );
}

// Evaluate trigonometric identities that are functions of two angles.
void UseTwoAngles(double degreesX, double degreesY)
{
double  angleX  = Math::PI * degreesX / 180.0;
double  angleY  = Math::PI * degreesY / 180.0;

// Evaluate sin(X + Y) == sin(X) * cos(Y) + cos(X) * sin(Y).
Console::WriteLine(
S"\n        Math::Sin({0} deg) * Math::Cos({1} deg) +\n"
S"        Math::Cos({0} deg) * Math::Sin({1} deg) == {2:E16}",
__box(degreesX), __box(degreesY),
__box(Math::Sin(angleX) * Math::Cos(angleY) +
Math::Cos(angleX) * Math::Sin(angleY)) );
Console::WriteLine(
S"                            Math::Sin({0} deg) == {1:E16}",
__box(degreesX + degreesY),
__box(Math::Sin(angleX + angleY)) );

// Evaluate cos(X + Y) == cos(X) * cos(Y) - sin(X) * sin(Y).
Console::WriteLine(
S"        Math::Cos({0} deg) * Math::Cos({1} deg) -\n"
S"        Math::Sin({0} deg) * Math::Sin({1} deg) == {2:E16}",
__box(degreesX), __box(degreesY),
__box(Math::Cos(angleX) * Math::Cos(angleY) -
Math::Sin(angleX) * Math::Sin(angleY)) );
Console::WriteLine(
S"                            Math::Cos({0} deg) == {1:E16}",
__box(degreesX + degreesY),
__box(Math::Cos(angleX + angleY)) );
}

void main()
{
Console::WriteLine(
S"This example of trigonometric "
S"Math::Sin( double ) and Math::Cos( double )\n"
S"generates the following output.\n");
Console::WriteLine(
S"Convert selected values for X to radians \n"
S"and evaluate these trigonometric identities:" );
Console::WriteLine(
S"   sin^2(X) + cos^2(X) == 1\n"
S"   sin(2 * X) == 2 * sin(X) * cos(X)" );
Console::WriteLine( S"   cos(2 * X) == cos^2(X) - sin^2(X)" );

UseSineCosine(15.0);
UseSineCosine(30.0);
UseSineCosine(45.0);

Console::WriteLine(
S"\nConvert selected values for X and Y to radians \n"
S"and evaluate these trigonometric identities:" );
Console::WriteLine( S"   sin(X + Y) == sin(X) * cos(Y) + cos(X) * sin(Y)" );
Console::WriteLine( S"   cos(X + Y) == cos(X) * cos(Y) - sin(X) * sin(Y)" );

UseTwoAngles(15.0, 30.0);
UseTwoAngles(30.0, 45.0);
}

/*
This example of trigonometric Math::Sin( double ) and Math::Cos( double )
generates the following output.

Convert selected values for X to radians
and evaluate these trigonometric identities:
sin^2(X) + cos^2(X) == 1
sin(2 * X) == 2 * sin(X) * cos(X)
cos(2 * X) == cos^2(X) - sin^2(X)

Math::Sin(15 deg) == 2.5881904510252074E-001
Math::Cos(15 deg) == 9.6592582628906831E-001
(Math::Sin(15 deg))^2 + (Math::Cos(15 deg))^2 == 1.0000000000000000E+000
Math::Sin(30 deg) == 4.9999999999999994E-001
2 * Math::Sin(15 deg) * Math::Cos(15 deg) == 4.9999999999999994E-001
Math::Cos(30 deg) == 8.6602540378443871E-001
(Math::Cos(15 deg))^2 - (Math::Sin(15 deg))^2 == 8.6602540378443871E-001

Math::Sin(30 deg) == 4.9999999999999994E-001
Math::Cos(30 deg) == 8.6602540378443871E-001
(Math::Sin(30 deg))^2 + (Math::Cos(30 deg))^2 == 1.0000000000000000E+000
Math::Sin(60 deg) == 8.6602540378443860E-001
2 * Math::Sin(30 deg) * Math::Cos(30 deg) == 8.6602540378443860E-001
Math::Cos(60 deg) == 5.0000000000000011E-001
(Math::Cos(30 deg))^2 - (Math::Sin(30 deg))^2 == 5.0000000000000022E-001

Math::Sin(45 deg) == 7.0710678118654746E-001
Math::Cos(45 deg) == 7.0710678118654757E-001
(Math::Sin(45 deg))^2 + (Math::Cos(45 deg))^2 == 1.0000000000000000E+000
Math::Sin(90 deg) == 1.0000000000000000E+000
2 * Math::Sin(45 deg) * Math::Cos(45 deg) == 1.0000000000000000E+000
Math::Cos(90 deg) == 6.1230317691118863E-017
(Math::Cos(45 deg))^2 - (Math::Sin(45 deg))^2 == 2.2204460492503131E-016

Convert selected values for X and Y to radians
and evaluate these trigonometric identities:
sin(X + Y) == sin(X) * cos(Y) + cos(X) * sin(Y)
cos(X + Y) == cos(X) * cos(Y) - sin(X) * sin(Y)

Math::Sin(15 deg) * Math::Cos(30 deg) +
Math::Cos(15 deg) * Math::Sin(30 deg) == 7.0710678118654746E-001
Math::Sin(45 deg) == 7.0710678118654746E-001
Math::Cos(15 deg) * Math::Cos(30 deg) -
Math::Sin(15 deg) * Math::Sin(30 deg) == 7.0710678118654757E-001
Math::Cos(45 deg) == 7.0710678118654757E-001

Math::Sin(30 deg) * Math::Cos(45 deg) +
Math::Cos(30 deg) * Math::Sin(45 deg) == 9.6592582628906831E-001
Math::Sin(75 deg) == 9.6592582628906820E-001
Math::Cos(30 deg) * Math::Cos(45 deg) -
Math::Sin(30 deg) * Math::Sin(45 deg) == 2.5881904510252085E-001
Math::Cos(75 deg) == 2.5881904510252096E-001
*/
```

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard