Acos Method

Math.Acos Method

Returns the angle whose cosine is the specified number.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
<SecuritySafeCriticalAttribute> _
Public Shared Function Acos ( _
	d As Double _
) As Double

Parameters

d
Type: System.Double
A number representing a cosine, where d must be greater than or equal to -1, but less than or equal to 1.

Return Value

Type: System.Double
An angle, θ, measured in radians, such that 0 θ π
-or-
NaN if d < -1 or d > 1 or d equals NaN.

Multiply the return value by 180/Math.PI to convert from radians to degrees.

The following code sample uses Acos to assist in the computation of the inner angles of a given trapezoid.


'The following class represents simple functionality of the trapezoid.
Class Example

   Private m_longBase As Double
   Private m_shortBase As Double
   Private m_leftLeg As Double
   Private m_rightLeg As Double

   Public Sub New(ByVal longbase As Double, ByVal shortbase As Double, ByVal leftLeg As Double, ByVal rightLeg As Double)
      m_longBase = Math.Abs(longbase)
      m_shortBase = Math.Abs(shortbase)
      m_leftLeg = Math.Abs(leftLeg)
      m_rightLeg = Math.Abs(rightLeg)
   End Sub

   Private Function GetRightSmallBase() As Double
      GetRightSmallBase = (Math.Pow(m_rightLeg, 2) - Math.Pow(m_leftLeg, 2) + Math.Pow(m_longBase, 2) + Math.Pow(m_shortBase, 2) - 2 * m_shortBase * m_longBase) / (2 * (m_longBase - m_shortBase))
   End Function

   Public Function GetHeight() As Double
      Dim x As Double = GetRightSmallBase()
      GetHeight = Math.Sqrt(Math.Pow(m_rightLeg, 2) - Math.Pow(x, 2))
   End Function

   Public Function GetSquare() As Double
      GetSquare = GetHeight() * m_longBase / 2
   End Function

   Public Function GetLeftBaseRadianAngle() As Double
      Dim sinX As Double = GetHeight() / m_leftLeg
      GetLeftBaseRadianAngle = Math.Round(Math.Asin(sinX), 2)
   End Function

   Public Function GetRightBaseRadianAngle() As Double
      Dim x As Double = GetRightSmallBase()
      Dim cosX As Double = (Math.Pow(m_rightLeg, 2) + Math.Pow(x, 2) - Math.Pow(GetHeight(), 2)) / (2 * x * m_rightLeg)
      GetRightBaseRadianAngle = Math.Round(Math.Acos(cosX), 2)
   End Function

   Public Function GetLeftBaseDegreeAngle() As Double
      Dim x As Double = GetLeftBaseRadianAngle() * 180 / Math.PI
      GetLeftBaseDegreeAngle = Math.Round(x, 2)
   End Function

   Public Function GetRightBaseDegreeAngle() As Double
      Dim x As Double = GetRightBaseRadianAngle() * 180 / Math.PI
      GetRightBaseDegreeAngle = Math.Round(x, 2)
   End Function

   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim trpz As Example = New Example(20, 10, 8, 6)
      outputBlock.Text += String.Format("The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0") & vbCrLf
      Dim h As Double = trpz.GetHeight()
      outputBlock.Text &= "Trapezoid height is: " + h.ToString() & vbCrLf
      Dim dxR As Double = trpz.GetLeftBaseRadianAngle()
      outputBlock.Text &= "Trapezoid left base angle is: " + dxR.ToString() + " Radians" & vbCrLf
      Dim dyR As Double = trpz.GetRightBaseRadianAngle()
      outputBlock.Text &= "Trapezoid right base angle is: " + dyR.ToString() + " Radians" & vbCrLf
      Dim dxD As Double = trpz.GetLeftBaseDegreeAngle()
      outputBlock.Text &= "Trapezoid left base angle is: " + dxD.ToString() + " Degrees" & vbCrLf
      Dim dyD As Double = trpz.GetRightBaseDegreeAngle()
      outputBlock.Text &= "Trapezoid left base angle is: " + dyD.ToString() + " Degrees" & vbCrLf
   End Sub

End Class



Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2016 Microsoft