我想使用反余弦函数计算由三个点(其中一个点是两条线的交点)形成的两条线之间的角度,如下所示:
CGFloat a = initialPosition.x - origin.x;
CGFloat b = initialPosition.y - origin.y;
CGFloat c = currentPosition.x - origin.x;
CGFloat d = currentPosition.y - origin.y;
CGFloat angle = (180/M_PI) * acosf(((a*c) + (b*d)) / ((sqrt(a*a + b*b)) * (sqrt(c*c + d*d))));
不幸的是,acosf 只返回 0 到 pi 之间的值。如何找到 0 到 2*pi 之间的值(例如,逆时针方向)?