Android 사용자 정의view로 점이 영역에 있는지 판단
2465 단어 사용자 정의
/**
* : : : , !
*
* @param pt
*
* @param ps
* ( )
* @return
*/
public boolean isCoordinatePoint(PointF pt, List ps) {
int nCross = 0;
for (int i = 0; i < ps.size(); i++) {
PointF p1 = ps.get(i);
PointF p2 = ps.get((i + 1) % ps.size());
// y=p.y p1p2
if (p1.y == p2.y) // p1p2 y=p0.y
continue;
if (pt.y < Math.min(p1.y, p2.y)) // p1p2
continue;
if (pt.y >= Math.max(p1.y, p2.y)) // p1p2
continue;
// X
// --------------------------------------------------------------
double x = (double) (pt.y - p1.y)
* (double) (p2.x - p1.x)
/ (double) (p2.y - p1.y) + p1.x;
if (x > pt.x)
nCross++; //
}
// , ---
return (nCross % 2 == 1);
}
좌표를 비교해 보면 알 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Vue 어셈블리에서 여러 번 사용자 정의 매개변수 작업 재사용추가 정보: VUE 구성 요소(슬롯 slot 및 재사용 가능 구성 요소) 하위 구성 요소의 일부 내용이 부모 구성 요소를 통해 DOM을 전달할 때 부모 구성 요소props 전가의 비교적 좌절된 문법을 사용하지 않아도...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.