Exporter (0) Imprimer
Développer tout
0 sur 1 ont trouvé cela utile - Évaluez ce sujet

Math, classe

Fournit des constantes et des méthodes statiques pour des fonctions trigonométriques, logarithmiques et d'autres fonctions mathématiques courantes.

Espace de noms : System
Assembly : mscorlib (dans mscorlib.dll)

public static class Math
public final class Math
public final class Math

L'exemple de code suivant utilise plusieurs fonctions mathématiques et trigonométriques de la classe Math pour calculer les angles internes d'un trapèze.

/// <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 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

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.