2015年7月7日 星期二

「Java」計算角度

public double getangles(double x1, double y1, double x0,double y0)
{
		
	    double x=Math.abs(x1-x0);
	    double y=Math.abs(y1-y0);
	    double z=Math.sqrt(x*x+y*y);	    
	    double jiaodu=(Math.asin(y/z)/Math.PI*180);
	    	    
	    return jiaodu;
}


jiaodu 即為Θ的值。
























假如你是像如下的情況,需要再校正一下計算出來的角度





public double checkspace(double angle, double x1,double y1,
                         double x0,double y0)
{		
		//0-90
		if (x1>x0 && y1y0)
		{
			angle=angle+180;
		}
		//271-360
		else if (x1>x0 && y1>y0)
		{
			angle=(90-angle)+270;
		}
		
	return angle;
}

沒有留言:

張貼留言