ios – 从2个位置获取角度

我有两个对象,当我移动一个我想要从另一个角度.

例如

Object1X = 211.000000,Object1Y = 429.000000
Object2X = 246.500000,Object2Y = 441.500000

我试过以下和每一个变化在阳光下

double radians = ccpAngle(Object1,Object2);
double degrees = ((radians * 180) / Pi);

但是我刚刚得到了2.949023返回,我想要45度等等

请帮忙

谢谢

乔纳森

解决方法

这个其他答案有帮助吗?

How to map atan2() to degrees 0-360

我写的是这样的:

- (CGFloat) pointPairToBearingDegrees:(CGPoint)startingPoint secondPoint:(CGPoint) endingPoint
{
    CGPoint originPoint = CGPointMake(endingPoint.x - startingPoint.x,endingPoint.y - startingPoint.y); // get origin point to origin by subtracting end from start
    float bearingRadians = atan2f(originPoint.y,originPoint.x); // get bearing in radians
    float bearingDegrees = bearingRadians * (180.0 / M_PI); // convert to degrees
    bearingDegrees = (bearingDegrees > 0.0 ? bearingDegrees : (360.0 + bearingDegrees)); // correct discontinuity
    return bearingDegrees;
}

运行代码:

CGPoint p1 = CGPointMake(10,10);
CGPoint p2 = CGPointMake(20,20);

CGFloat f = [self pointPairToBearingDegrees:p1 secondPoint:p2];

而这返回45.

希望这可以帮助.

以上是来客网为你收集整理的ios – 从2个位置获取角度全部内容,希望文章能够帮你解决ios – 从2个位置获取角度所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。