728x90
Canvas로 영역을 만들고 그 영역 안에 해당 좌표가 있는지 확인하는 알고리즘
먼저 확인 하고 싶은 좌표를 배열로 선언합니다.
point[0] = x 좌표, point[1] = y좌표
var point = [2,4];
영역 또한 이차배열로 선언합니다.
var vs = [
[94, 119],
[94, 267],
[285, 267],
[285, 119],
]
const inside = (point, vs) => {
var x = point[0],
y = point[1];
var inside = false;
for (var i = 0, j = vs.length - 1; i < vs.length; j = i++) {
var xi = vs[i][0],
yi = vs[i][1];
var xj = vs[j][0],
yj = vs[j][1];
var intersect =
yi > y != yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi;
if (intersect) inside = !inside;
}
return inside;
};
있으면 true, 없으면 false 반환
[출처]
반응형
'Frontend > Javascript' 카테고리의 다른 글
[Javascript] 자바스크립트 Dictionary 사용하기 (0) | 2022.03.23 |
---|---|
[Javascript] 일주일 날짜 구하기 (0) | 2021.12.03 |
[Javascript] console log, group, table (1) | 2021.09.28 |
[ERROR] Do not use String as a constructor (0) | 2021.08.20 |
[Javascript] {} to [] (0) | 2021.04.30 |
댓글