android 계산점이 부채꼴 영역에 있는지 여부

1348 단어 andorid
1. 세 개의 점: 원심 A, 반경 r, 도수 0의 점 B, 임의의 점 C.
먼저 구배 BAC의 도수(호도)를 계산합니다.
 
public double calculatorDegree(float x1, float y1, float x2, float y2, float x3, float y3) {
		double radian = 0;

		double ab = getDistance(x1, y1, x2, y2);
		double ac = getDistance(x1, y1, x3, y3);
		double bc = getDistance(x2, y2, x3, y3);

		double value = (ab * ab + ac * ac - (bc * bc)) / (2 * ab * ac);

		radian = Math.acos(value);

		return radian;
	}

	public double getDistance(float x1, float y1, float x2, float y2) {
		double distance = 0;
		distance = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
		return distance;
	}

 
2. 호도에 따라 도수를 계산하고 AC 거리를 계산한다.
 
float x = event.getX();
		float y = event.getY();
		double radian = calculatorDegree(width / 2, height / 2, width / 2 + radius, height / 2, x, y);
		double degree =  (180 / Math.PI * radian);
		double distance = getDistance(width / 2, height / 2, x, y);

3, 도수와 거리에 따라 계산한다.
도수를 사용하기 전에 보각을 사용했는지 아닌지를 판단한다.
 
부채형 호선의 시작점 좌표를 계산합니다.
 (float) (center_X + r * Math.cos(startAngle * Math.PI/180)),(float) (center_Y + r * Math.sin(startAngle * Math.PI/180))
 

좋은 웹페이지 즐겨찾기