一种简单的扇形判定算法
#include <iostream> using namespace std; int main(int argc, char *argv[]) { int base_angle=270+45; // 基准角度 扇形中心角度 int angle = 90;//扇形大小 int test=190 ;;//测试大小 目标待测角度 bool hit = false; int delta = base_angle - angle/2; while(delta<0) { delta+=360; } while(test - delta<0) { test+=360; } if(angle >= test -delta) { hit = true; } if(hit) { cout <<"hit"; } return 0; }
把角度全部初始点为第一象限的0度,所有角度范围是0-360 度 来计算目标是否是扇形内