반응형
두개의 라인이 만나는 교차점을 구하는 방법입니다.
- 라인1 : Point pt1, pt2
- 라인2 : Point pt3, pt4
- 두 라인이 평행이라면 (-1, -1)을 반환
Point getIntersectionPt(Point pt1, Point pt2, Point pt3, Point pt4) {
int x1 = pt1.x, y1 = pt1.y;
int x2 = pt2.x, y2 = pt2.y;
int x3 = pt3.x, y3 = pt3.y;
int x4 = pt4.x, y4 = pt4.y;
int px= (x1*y2 - y1*x2)*(x3-x4) - (x1-x2)*(x3*y4 - y3*x4);
int py= (x1*y2 - y1*x2)*(y3-y4) - (y1-y2)*(x3*y4 - y3*x4);
int p = (x1-x2)*(y3-y4) - (y1-y2)*(x3-x4);
//평행
if(p == 0) {
return new Point(-1, -1);
}
int x = px/p;
int y = py/p;
return new Point(x, y);
}
반응형
'안드로이드' 카테고리의 다른 글
Android Path(파일경로), Uri 간의 변환 (0) | 2021.11.20 |
---|---|
Android 카메라 플래시 제어하기 (0) | 2021.11.20 |
Android AES(128, 192, 256) 암복호화 (0) | 2021.11.18 |
Android 쿠키 동기화(retrofit2, webview) (0) | 2021.11.18 |
Android keystore(debug, release) SHA-1 확인 방법 (1) | 2021.11.18 |
최근댓글