• 【转】Math.Atan2 方法


    原文网址:https://msdn.microsoft.com/zh-cn/library/system.math.atan2.aspx

    返回正切值为两个指定数字的商的角度。

    命名空间:  System
    程序集:  mscorlib(在 mscorlib.dll 中)

    语法
     
     
    public static double Atan2(
    	double y,
    	double x
    )
    

    参数

    y
    类型:System.Double
    点的 y 坐标。
    x
    类型:System.Double
    点的 x 坐标。

    返回值

    类型:System.Double
    角度 θ,以弧度为单位,满足 -πθπ,且 tan(θ) = y / x,其中 (x, y) 是笛卡尔平面中的点。 请看下面: 
    • 如果 (x, y) 在第 1 象限,则 0 < θ < π/2。

    • 如果 (x, y) 在第 2 象限,则 π/2 < θπ。

    • 如果 (x, y) 在第 3 象限,则 -π < θ < -π/2。

    • 如果 (x, y) 在第 4 象限,则 -π/2 < θ < 0。

    如果点在象限的边界上,则返回值如下:
    • 如果 y 为 0 并且 x 不为负值,则 θ = 0。

    • 如果 y 为 0 并且 x 为负值,则 θ = π。

    • 如果 y 为正值并且 x 为 0,则 θ = π/2。

    • 如果 y 为负值并且 x 为 0,则 θ = -π/2。

    • 如果 y 为 0 并且 x 为 0,则 θ = 0。

    如果 x 或 y 为 NaN,或者 x 和 y 为 PositiveInfinity 或 NegativeInfinity,则该方法将返回 NaN
    备注
     

    返回值为笛卡尔平面中的角度,该角度由 x 轴和起点为原点 (0,0)、终点为 (x,y) 的向量构成。

    示例
     

    下面的示例演示如何计算角和向量的反正切。 结果值会显示在控制台中。

     
    // This example demonstrates Math.Atan()
    //                           Math.Atan2()
    //                           Math.Tan()
    using System;
    
    class Sample 
    {
        public static void Main() 
        {
        double x = 1.0;
        double y = 2.0;
        double angle;
        double radians;
        double result;
    
    // Calculate the tangent of 30 degrees.
        angle = 30;
        radians = angle * (Math.PI/180);
        result = Math.Tan(radians);
        Console.WriteLine("The tangent of 30 degrees is {0}.", result);
    
    // Calculate the arctangent of the previous tangent.
        radians = Math.Atan(result);
        angle = radians * (180/Math.PI);
        Console.WriteLine("The previous tangent is equivalent to {0} degrees.", angle);
    
    // Calculate the arctangent of an angle.
        String line1 = "{0}The arctangent of the angle formed by the x-axis and ";
        String line2 = "a vector to point ({0},{1}) is {2}, ";
        String line3 = "which is equivalent to {0} degrees.";
    
        radians = Math.Atan2(y, x);
        angle = radians * (180/Math.PI);
    
        Console.WriteLine(line1, Environment.NewLine);
        Console.WriteLine(line2, x, y, radians);
        Console.WriteLine(line3, angle);
        }
    }
    /*
    This example produces the following results:
    
    The tangent of 30 degrees is 0.577350269189626.
    The previous tangent is equivalent to 30 degrees.
    
    The arctangent of the angle formed by the x-axis and
    a vector to point (1,2) is 1.10714871779409,
    which is equivalent to 63.434948822922 degrees.
    */
    
  • 相关阅读:
    Linux命令:head
    Linux命令:less
    分布式锁的实现(java)
    mysql大数据量使用limit分页,随着页码的增大,查询效率越低下。(转载)
    SpringBoot实现热加载方式
    报表设计细节
    Pentaho Report Designer 数据大于某值显示红色
    Centos7更改yum源与更新系统
    Centos7安装配置NFS服务和挂载
    centos7上搭建ftp服务器(亲测可用)
  • 原文地址:https://www.cnblogs.com/wi100sh/p/4517132.html
Copyright © 2020-2023  润新知