// 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); }
// 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); }
// 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); }
// 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); }
// 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))); }