PI Field
Collapse the table of content
Expand the table of content

Math.PI Field

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π.

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

'Declaration
Public Const PI As Double

The value of this field is 3.14159265358979323846.

The following code sample uses PI 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



Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft