zoukankan      html  css  js  c++  java
  • [转]计算两点间的角度

    /// <summary>

    /// 计算两点间的角度

    /// </summary>

    /// <param name="AOrigin">原点坐标</param>

    /// <param name="APoint">参考点坐标</param>

    /// <param name="APoint">离心率</param>

    /// <returns>返回两点间的角度</returns>

    private double PointToAngle(Point AOrigin, Point APoint, double AEccentricity)

    {

        if (APoint.X == AOrigin.X)

            if (APoint.Y > AOrigin.Y)

                return Math.PI * 0.5;

            else return Math.PI * 1.5;

        else if (APoint.Y == AOrigin.Y)

            if (APoint.X > AOrigin.X)

                return 0;

            else return Math.PI;

        else

        {

            double Result = Math.Atan((AOrigin.Y - APoint.Y) /

                (AOrigin.X - APoint.X) * AEccentricity);

            if ((APoint.X < AOrigin.X) && (APoint.Y > AOrigin.Y))

                return Result + Math.PI;

            else if ((APoint.X < AOrigin.X) && (APoint.Y < AOrigin.Y))

                return Result + Math.PI;

            else if ((APoint.X > AOrigin.X) && (APoint.Y < AOrigin.Y))

                return Result + 2 * Math.PI;

            else return Result;

        }

    } /* PointToAngle */

  • 相关阅读:
    Solved:Spring Junit Test NoSuchMethodError
    Stack实现
    CLRS10.2-8练习
    CLRS10.2-7练习
    CLRS10.2-4练习
    CLRS10.1-7练习
    CLRS10.1-6练习
    算法:吸血鬼数字算法
    CLRS最大子数组问题
    VS快捷键
  • 原文地址:https://www.cnblogs.com/toosuo/p/1281064.html
Copyright © 2011-2022 走看看