Math.Sin Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Returns the sine of the specified angle.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- a
- Type: System.Double
An angle, measured in radians.
Return Value
Type: System.DoubleThe sine of a. If a is equal to NaN, NegativeInfinity, or PositiveInfinity, this method returns NaN.
The angle, a, must be in radians. Multiply by Math.PI/180 to convert degrees to radians.
Acceptable values of d range from approximately -9223372036854775295 to approximately 9223372036854775295. For values outside of this range, the Sin method returns d unchanged rather than throwing an exception.
Version Notes
Windows Phone
The value of Math.Sin(Math.PI/2) is 0.99999999999999989. The value on Windows is 1.The following example uses Sin to evaluate certain trigonometric identities for selected angles.
' Example for the trigonometric Math.Sin( Double ) and Math.Cos( Double ) methods. Module Example Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) outputBlock.Text &= _ "This example of trigonometric " & _ "Math.Sin( double ) and Math.Cos( double )" & vbCrLf & _ "generates the following output." & vbCrLf & vbCrLf outputBlock.Text &= _ "Convert selected values for X to radians " & vbCrLf & _ "and evaluate these trigonometric identities:" & vbCrLf outputBlock.Text &= _ " sin^2(X) + cos^2(X) = 1" & vbCrLf & _ " sin(2 * X) = 2 * sin(X) * cos(X)" & vbCrLf outputBlock.Text &= " cos(2 * X) = cos^2(X) - sin^2(X)" & vbCrLf UseSineCosine(outputBlock, 15.0) UseSineCosine(outputBlock, 30.0) UseSineCosine(outputBlock, 45.0) outputBlock.Text &= _ vbCrLf & "Convert selected values for X and Y to radians" & _ vbCrLf & "and evaluate these trigonometric identities:" & vbCrLf outputBlock.Text &= " sin(X + Y) = sin(X) * cos(Y) + cos(X) * sin(Y)" & vbCrLf outputBlock.Text &= " cos(X + Y) = cos(X) * cos(Y) - sin(X) * sin(Y)" & vbCrLf UseTwoAngles(outputBlock, 15.0, 30.0) UseTwoAngles(outputBlock, 30.0, 45.0) End Sub 'Main ' Evaluate trigonometric identities with a given angle. Sub UseSineCosine(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal 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. outputBlock.Text &= String.Format( _ vbCrLf & " Math.Sin({0} deg) = {1:E16}" & _ vbCrLf & " Math.Cos({0} deg) = {2:E16}", _ degrees, Math.Sin(angle), Math.Cos(angle)) & vbCrLf outputBlock.Text &= String.Format( _ "(Math.Sin({0} deg))^2 + (Math.Cos({0} deg))^2 = {1:E16}", _ degrees, sinAngle * sinAngle + cosAngle * cosAngle) & vbCrLf ' Evaluate sin(2 * X) = 2 * sin(X) * cos(X). outputBlock.Text &= String.Format( _ " Math.Sin({0} deg) = {1:E16}", _ 2.0 * degrees, Math.Sin(2.0 * angle)) & vbCrLf outputBlock.Text &= String.Format( _ " 2 * Math.Sin({0} deg) * Math.Cos({0} deg) = {1:E16}", _ degrees, 2.0 * sinAngle * cosAngle) & vbCrLf ' Evaluate cos(2 * X) = cos^2(X) - sin^2(X). outputBlock.Text &= String.Format( _ " Math.Cos({0} deg) = {1:E16}", _ 2.0 * degrees, Math.Cos(2.0 * angle)) & vbCrLf outputBlock.Text &= String.Format( _ "(Math.Cos({0} deg))^2 - (Math.Sin({0} deg))^2 = {1:E16}", _ degrees, cosAngle * cosAngle - sinAngle * sinAngle) & vbCrLf End Sub 'UseSineCosine ' Evaluate trigonometric identities that are functions of two angles. Sub UseTwoAngles(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal degreesX As Double, ByVal 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). outputBlock.Text &= String.Format( _ 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)) & vbCrLf outputBlock.Text &= String.Format( _ " Math.Sin({0} deg) = {1:E16}", _ degreesX + degreesY, Math.Sin(angleX + angleY)) & vbCrLf ' Evaluate cos(X + Y) = cos(X) * cos(Y) - sin(X) * sin(Y). outputBlock.Text &= String.Format( _ " 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)) & vbCrLf outputBlock.Text &= String.Format( _ " Math.Cos({0} deg) = {1:E16}", _ degreesX + degreesY, Math.Cos(angleX + angleY)) & vbCrLf 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