[转]计算两点间的角度
2008-09-01 11:50
417 查看
/// <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 */
/// 计算两点间的角度
/// </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 */
相关文章推荐
- 计算两点之间的角度的代码
- Calculate distance, bearing and more between Latitude/Longitude points——根据两点经纬度计算距离,角度及其他
- 通过两点坐标计算角度
- 根据两点经纬度计算距离和角度——java实现
- 同一坐标系中,由任意两点计算地图旋转角度
- (转)c# math 计算两点之间的角度公式
- 计算两点之间的距离,两点之间的斜率(角度)--秀清
- 两点计算角度
- 两点计算角度
- iOS 计算两点距离、点间角度、线间角度
- 根据两点经纬度计算距离和角度——java实现
- unity 计算两点角度
- android 实现计算百度地图两点之间旋转角度,多点有向连接
- 记录下-两点角度计算
- unity 计算两点的的角度
- 计算两点经纬度之间的距离
- cocos2d-x 计算两点之间的夹角
- zzuli OJ 1084: 计算两点间的距离(多实例测试)
- hdu_2001 计算两点间的距离
- 安卓百度地图根据2点坐标计算marker旋转角度