Math クラスとは? わかりやすく解説

Math クラス

三角関数対数関数などの一般的な数値関数定数静的メソッド提供します

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

使用例使用例

Math クラス数値関数三角関数いくつか使用して不等四辺形内角計算する方法については、次のコード例参照してください

'The following class represents simple functionallity of the Trapezoid
Class MathTrapezoidSample

    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 Main()
        Dim trpz As MathTrapezoidSample = New
 MathTrapezoidSample(20, 10, 8, 6)
        Console.WriteLine("The trpezoid's bases are 20.0 and 10.0,
 the trapezoid's legs are 8.0 and 6.0")
        Dim h As Double
 = trpz.GetHeight()
        Console.WriteLine("Trapezoid height is: "
 + h.ToString())
        Dim dxR As Double
 = trpz.GetLeftBaseRadianAngle()
        Console.WriteLine("Trapezoid left base angle is: "
 + dxR.ToString() + " Radians")
        Dim dyR As Double
 = trpz.GetRightBaseRadianAngle()
        Console.WriteLine("Trapezoid right base angle is: "
 + dyR.ToString() + " Radians")
        Dim dxD As Double
 = trpz.GetLeftBaseDegreeAngle()
        Console.WriteLine("Trapezoid left base angle is: "
 + dxD.ToString() + " Degrees")
        Dim dyD As Double
 = trpz.GetRightBaseDegreeAngle()
        Console.WriteLine("Trapezoid left base angle is: "
 + dyD.ToString() + " Degrees")
    End Sub

End Class

/// <summary>
/// The following class represents simple functionallity of the Trapezoid
/// </summary>
class MathTrapezoidSample
{
    private double m_longBase;
    private double m_shortBase;
    private double m_leftLeg;
    private double m_rightLeg;

    public MathTrapezoidSample(double longbase, double shortbase,
 double leftLeg, double rightLeg)
    {
        m_longBase = Math.Abs(longbase);
        m_shortBase = Math.Abs(shortbase);
        m_leftLeg = Math.Abs(leftLeg);
        m_rightLeg = Math.Abs(rightLeg);
    }

    private double GetRightSmallBase()
    {
        return (Math.Pow(m_rightLeg,2.0) - Math.Pow(m_leftLeg,2.0)
 + Math.Pow(m_longBase,2.0) + Math.Pow(m_shortBase,2.0) - 2* m_shortBase * m_longBase)/
 (2*(m_longBase - m_shortBase));
    }

    public double GetHeight()
    {
        double x = GetRightSmallBase();
        return Math.Sqrt(Math.Pow(m_rightLeg,2.0) - Math.Pow(x
,2.0));
    }

    public double GetSquare()
    {
        return GetHeight() * m_longBase / 2.0;
    }

    public double GetLeftBaseRadianAngle()
    {
        double sinX = GetHeight()/m_leftLeg;
        return Math.Round(Math.Asin(sinX),2);
    }

    public double GetRightBaseRadianAngle()
    {
        double x = GetRightSmallBase();
        double cosX = (Math.Pow(m_rightLeg,2.0) + Math.Pow(x,2.0) - Math.Pow(GetHeight()
,2.0))/(2*x*m_rightLeg);
        return Math.Round(Math.Acos(cosX),2);
    }

    public double GetLeftBaseDegreeAngle()
    {
        double x = GetLeftBaseRadianAngle() * 180/ Math.PI;
        return Math.Round(x,2);
    }

    public double GetRightBaseDegreeAngle()
    {
        double x = GetRightBaseRadianAngle() * 180/ Math.PI;
        return Math.Round(x,2);
    }

    static void Main(string[]
 args)
    {
        MathTrapezoidSample trpz = new MathTrapezoidSample(20.0,
 10.0, 8.0, 6.0);
        Console.WriteLine("The trpezoid's bases are 20.0 and 10.0, the trapezoid's
 legs are 8.0 and 6.0");
        double h = trpz.GetHeight();
        Console.WriteLine("Trapezoid height is: " + h.ToString());
        double dxR = trpz.GetLeftBaseRadianAngle();
        Console.WriteLine("Trapezoid left base angle is:
 " + dxR.ToString() + " Radians");
        double dyR = trpz.GetRightBaseRadianAngle();
        Console.WriteLine("Trapezoid right base angle is:
 " + dyR.ToString() + " Radians");
        double dxD = trpz.GetLeftBaseDegreeAngle();
        Console.WriteLine("Trapezoid left base angle is:
 " + dxD.ToString() + " Degrees");
        double dyD = trpz.GetRightBaseDegreeAngle();
        Console.WriteLine("Trapezoid left base angle is:
 " + dyD.ToString() + " Degrees");
    }
}
/// <summary>
/// The following class represents simple functionality of the Trapezoid
/// </summary>
public ref class MathTrapezoidSample
{
private:
   double m_longBase;
   double m_shortBase;
   double m_leftLeg;
   double m_rightLeg;

public:
   MathTrapezoidSample( double longbase, double shortbase, double leftLeg, double
 rightLeg )
   {
      m_longBase = Math::Abs( longbase );
      m_shortBase = Math::Abs( shortbase );
      m_leftLeg = Math::Abs( leftLeg );
      m_rightLeg = Math::Abs( rightLeg );
   }


private:
   double GetRightSmallBase()
   {
      return (Math::Pow( m_rightLeg, 2.0 ) - Math::Pow( m_leftLeg,
 2.0 ) + Math::Pow( m_longBase, 2.0 ) + Math::Pow( m_shortBase, 2.0 ) - 2 * m_shortBase
 * m_longBase) / (2 * (m_longBase - m_shortBase));
   }


public:
   double GetHeight()
   {
      double x = GetRightSmallBase();
      return Math::Sqrt( Math::Pow( m_rightLeg, 2.0 ) - Math::Pow(
 x, 2.0 ) );
   }

   double GetSquare()
   {
      return GetHeight() * m_longBase / 2.0;
   }

   double GetLeftBaseRadianAngle()
   {
      double sinX = GetHeight() / m_leftLeg;
      return Math::Round( Math::Asin( sinX ), 2 );
   }

   double GetRightBaseRadianAngle()
   {
      double x = GetRightSmallBase();
      double cosX = (Math::Pow( m_rightLeg, 2.0 ) + Math::Pow( x, 2.0 ) - Math::Pow(
 GetHeight(), 2.0 )) / (2 * x * m_rightLeg);
      return Math::Round( Math::Acos( cosX ), 2 );
   }

   double GetLeftBaseDegreeAngle()
   {
      double x = GetLeftBaseRadianAngle() * 180 / Math::PI;
      return Math::Round( x, 2 );
   }

   double GetRightBaseDegreeAngle()
   {
      double x = GetRightBaseRadianAngle() * 180 / Math::PI;
      return Math::Round( x, 2 );
   }

};

int main()
{
   MathTrapezoidSample^ trpz = gcnew MathTrapezoidSample( 20.0,10.0,8.0,6.0 );
   Console::WriteLine( "The trpezoid's bases are 20.0 and 10.0, the trapezoid's
 legs are 8.0 and 6.0" );
   double h = trpz->GetHeight();
   Console::WriteLine( "Trapezoid height is: {0}", h.ToString() );
   double dxR = trpz->GetLeftBaseRadianAngle();
   Console::WriteLine( "Trapezoid left base angle is: {0}
 Radians", dxR.ToString() );
   double dyR = trpz->GetRightBaseRadianAngle();
   Console::WriteLine( "Trapezoid right base angle is: {0}
 Radians", dyR.ToString() );
   double dxD = trpz->GetLeftBaseDegreeAngle();
   Console::WriteLine( "Trapezoid left base angle is: {0}
 Degrees", dxD.ToString() );
   double dyD = trpz->GetRightBaseDegreeAngle();
   Console::WriteLine( "Trapezoid left base angle is: {0}
 Degrees", dyD.ToString() );
}

/// <summary>
/// The following class represents simple functionallity of the Trapezoid
/// </summary>
class MathTrapezoidSample
{
    private double mLongBase;
    private double mShortBase;
    private double mLeftLeg;
    private double mRightLeg;
    public MathTrapezoidSample(double longBase, double shortBase,
 
        double leftLeg, double rightLeg)
    {
        mLongBase = System.Math.Abs(longBase);
        mShortBase = System.Math.Abs(shortBase);
        mLeftLeg = System.Math.Abs(leftLeg);
        mRightLeg = System.Math.Abs(rightLeg);
    } //MathTrapezoidSample

    private double GetRightSmallBase()
    {
        return (System.Math.Pow(mRightLeg, 2.0) 
            - System.Math.Pow(mLeftLeg, 2.0) 
            + System.Math.Pow(mLongBase, 2.0) 
            + System.Math.Pow(mShortBase, 2.0) 
            - 2 * mShortBase * mLongBase) / (2 * (mLongBase - mShortBase));
    } //GetRightSmallBase

    public double GetHeight()
    {
        double x = GetRightSmallBase();
        return System.Math.Sqrt(System.Math.Pow(mRightLeg, 2.0)
 
            - System.Math.Pow(x, 2.0));
    } //GetHeight

    public double GetSquare()
    {
        return GetHeight() * mLongBase / 2.0;
    } //GetSquare

    public double GetLeftBaseRadianAngle()
    {
        double sinX = GetHeight() / mLeftLeg;
        return System.Math.Round(System.Math.Asin(sinX), 2);
    } //GetLeftBaseRadianAngle

    public double GetRightBaseRadianAngle()
    {
        double x = GetRightSmallBase();
        double cosX = (System.Math.Pow(mRightLeg, 2.0) 
               + System.Math.Pow(x, 2.0) 
               - System.Math.Pow(GetHeight(), 2.0)) / (2 * x * mRightLeg);
        return System.Math.Round(System.Math.Acos(cosX), 2);
    } //GetRightBaseRadianAngle

    public double GetLeftBaseDegreeAngle()
    {
        double x = GetLeftBaseRadianAngle() * 180 / System.Math.PI;
        return System.Math.Round(x, 2);
    } //GetLeftBaseDegreeAngle

    public double GetRightBaseDegreeAngle()
    {
        double x = GetRightBaseRadianAngle() * 180 / System.Math.PI;
        return System.Math.Round(x, 2);
    } //GetRightBaseDegreeAngle

    public static void main(String[]
 args)
    {
        MathTrapezoidSample trpz = 
            new MathTrapezoidSample(20.0, 10.0, 8.0, 6.0);
        Console.WriteLine("The trpezoid's bases are 20.0 and 10.0,"
            + " the trapezoid's legs are 8.0 and 6.0");
        double h = trpz.GetHeight();
        Console.WriteLine("Trapezoid height is: " 
            + System.Convert.ToString(h));
        double dxR = trpz.GetLeftBaseRadianAngle();
        Console.WriteLine("Trapezoid left base angle is:
 " 
            + System.Convert.ToString(dxR) + " Radians");
        double dyR = trpz.GetRightBaseRadianAngle();
        Console.WriteLine("Trapezoid right base angle is:
 " 
            + System.Convert.ToString(dyR) + " Radians");
        double dxD = trpz.GetLeftBaseDegreeAngle();
        Console.WriteLine("Trapezoid left base angle is:
 " 
            + System.Convert.ToString(dxD) + " Degrees");
        double dyD = trpz.GetRightBaseDegreeAngle();
        Console.WriteLine("Trapezoid left base angle is:
 " 
            + System.Convert.ToString(dyD) + " Degrees");
    } //main
} //MathTrapezoidSample
継承階層継承階層
System.Object
  System.Math
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Math クラス」の関連用語

Math クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Math クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS