ここでは、私がオンラインで見つけた簡単な機能を変更しました。 これはどの角度でも正しく動作します(0-360の外にあります)。 (この関数は、Cで動作するように構成されている、Xcodeで動作する。)
それは角度が:)
間にある場合は、
YES(true)を返し、角度Aから角度Bに反時計回りにチェックし、覚えて
まず、簡単な変換機能角度が:)
//check if angle is between angles
static inline BOOL angle_is_between_angles(float N,float a,float b) {
N = angle_1to360(N); //normalize angles to be 1-360 degrees
a = angle_1to360(a);
b = angle_1to360(b);
if (a < b)
return a <= N && N <= b;
return a <= N || N <= b;
}
間
であれば、すべての角度1から360
//function to convert angle to 1-360 degrees
static inline double angle_1to360(double angle){
angle=((int)angle % 360) + (angle-trunc(angle)); //converts angle to range -360 + 360
if(angle>0.0)
return angle;
else
return angle + 360.0;
}
チェックをします
例:角度300は、180〜10度であるかどうかを確認するには:
BOOL isBetween=angle_is_between_angles(300, 180,10);
// YESを返し
可能な重複(http://stackoverflow.com/questions/11406189/determine-if-angle-lies- 2つの他の角度間) – sschuberth