- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs
Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
52 lines
1.7 KiB
JavaScript
52 lines
1.7 KiB
JavaScript
export function getPixelRatio() {
|
|
return window ? window.devicePixelRatio : 1;
|
|
}
|
|
/**
|
|
* 两点之间的距离
|
|
* @param {number} x1 起始点 x
|
|
* @param {number} y1 起始点 y
|
|
* @param {number} x2 结束点 x
|
|
* @param {number} y2 结束点 y
|
|
*/
|
|
export function distance(x1, y1, x2, y2) {
|
|
var dx = x1 - x2;
|
|
var dy = y1 - y2;
|
|
return Math.sqrt(dx * dx + dy * dy);
|
|
}
|
|
/**
|
|
* 是否在包围盒内
|
|
* @param {number} minX 包围盒开始的点 x
|
|
* @param {number} minY 包围盒开始的点 y
|
|
* @param {number} width 宽度
|
|
* @param {number} height 高度
|
|
* @param {[type]} x 检测点的 x
|
|
* @param {[type]} y 监测点的 y
|
|
*/
|
|
export function inBox(minX, minY, width, height, x, y) {
|
|
return x >= minX && x <= minX + width && y >= minY && y <= minY + height;
|
|
}
|
|
export function intersectRect(box1, box2) {
|
|
return !(box2.minX > box1.maxX || box2.maxX < box1.minX || box2.minY > box1.maxY || box2.maxY < box1.minY);
|
|
}
|
|
// 合并两个区域
|
|
export function mergeRegion(region1, region2) {
|
|
if (!region1 || !region2) {
|
|
return region1 || region2;
|
|
}
|
|
return {
|
|
minX: Math.min(region1.minX, region2.minX),
|
|
minY: Math.min(region1.minY, region2.minY),
|
|
maxX: Math.max(region1.maxX, region2.maxX),
|
|
maxY: Math.max(region1.maxY, region2.maxY),
|
|
};
|
|
}
|
|
/**
|
|
* 判断两个点是否重合,点坐标的格式为 [x, y]
|
|
* @param {Array} point1 第一个点
|
|
* @param {Array} point2 第二个点
|
|
*/
|
|
export function isSamePoint(point1, point2) {
|
|
return point1[0] === point2[0] && point1[1] === point2[1];
|
|
}
|
|
export { isNil, isString, isFunction, isArray, each, toRadian, mod, isNumberEqual, requestAnimationFrame, clearAnimationFrame, } from '@antv/util';
|
|
//# sourceMappingURL=util.js.map
|