一种简单的扇形判定算法

梦想游戏人
目录:
游戏开发
#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 度 来计算目标是否是扇形内

Scroll Up