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

  • 相关阅读:
    reduce 一知半解(一):根据id合并两个数组
    textarea去除右下角默认样式
    css禁止点击事件
    poj 2723 二分+2-sat判定
    hdu 3062 2-Sat入门
    poj 3694双联通缩点+LCA
    poj 1986LCA离线dfs+并查集
    poj 1330 LCA最近公共祖先
    poj 1882完全背包变形
    poj 1948二维01背包
  • 原文地址:https://www.cnblogs.com/toosuo/p/1281064.html
Copyright © 2011-2022 走看看