Example #1
0
        // MMath.TanToCos(value, EQuadrantList)
        /// <summary>
        /// Liefert den Kosinuswert zum Tangenswert und Quadranten.
        /// </summary>
        /// <param name="value">Tangenswert.</param>
        /// <param name="quadrant">Quadrant.</param>
        /// <returns>Kosinuswert zum Tangenswert und Quadranten.</returns>
        public static double TanToCos(double value, EQuadrant quadrant)
        {
            double rtn = value / MMath.Sqr(1.0 + value * value);

            if (quadrant == EQuadrant.II || quadrant == EQuadrant.III)
            {
                rtn = -rtn;
            }
            return(rtn);
        }
Example #2
0
        // MMath.SinToCos(double, EQuadrantList)
        /// <summary>
        /// Liefert den Kosinuswert zum Sinuswert und Quadranten.
        /// </summary>
        /// <param name="value">Sinuswert.</param>
        /// <param name="quadrant">Quadrant.</param>
        /// <returns>Kosinuswert zum Sinuswert und Quadranten.</returns>
        public static double SinToCos(double value, EQuadrant quadrant)
        {
            double rtn = MMath.Sgn(value) * MMath.Sqr(1.0 - value * value);

            if (quadrant == EQuadrant.II || quadrant == EQuadrant.IV)
            {
                rtn = -rtn;
            }
            return(rtn);
        }
Example #3
0
        // MMath.CosToTan(double, EQuadrantList)
        /// <summary>
        /// Liefert den Tangenswert zum Kosinuswert und Quadranten.
        /// </summary>
        /// <param name="value">Kosinuswert.</param>
        /// <param name="quadrant">Quadrant.</param>
        /// <returns>Tangenswert zum Kosinuswert und Quadranten.</returns>
        public static double CosToTan(double value, EQuadrant quadrant)
        {
            // TODO: MMath.CosToTan(double, Quadrant): value != 0 sicherstellen.
            double rtn = MMath.Sqr(1.0 - value * value) / value;

            if (quadrant == EQuadrant.III || quadrant == EQuadrant.IV)
            {
                rtn = -rtn;
            }
            return(rtn);
        }
Example #4
0
        // MMath.ToLambda(double, double)
        /// <summary>
        /// Liefert die Längenkomponente des Polars zur X- und Y-Komponente des Vektors.
        /// </summary>
        /// <param name="x">X-Komponente.</param>
        /// <param name="y">Y-Komponente.</param>
        /// <returns>Längenkomponente des Polars zur X- und Y-Komponente des Vektors.</returns>
        public static double ToLambda(double x, double y)
        {
            // Ursprung verarbeiten
            if (x == 0.0 && y == 0.0)
            {
                return(0.0);
            }

            // Winkel berechnen
            double phi = 2.0 * MMath.ArcTan(y, MMath.Abs(x) + MMath.Sqr(x * x + y * y));

            if (x >= 0.0 && y >= 0.0)
            {
                return(phi);
            }
            if (y < 0.0)
            {
                return(MMath.Pi2 + phi);
            }
            return(MMath.Pi - phi);
        }
Example #5
0
 // MMath.ToRadius(double, double, double)
 /// <summary>
 /// Liefert den Radiuskomponente des Polars zur X-, Y- und Z-Komponente des Vektors.
 /// </summary>
 /// <param name="x">X-Komponente.</param>
 /// <param name="y">Y-Komponente.</param>
 /// <param name="z">Y-Komponente.</param>
 /// <returns>Radiuskomponente des Polars zur X-, Y- und Z-Komponente des Vektors.</returns>
 public static double ToRadius(double x, double y, double z)
 {
     // Rückgabe
     return(MMath.Sqr(MMath.Square(x) + MMath.Square(y) + MMath.Square(z)));
 }