@antv/util
Version:
> AntV 底层依赖的工具库,不建议在自己业务中使用。
25 lines (22 loc) • 523 B
text/typescript
import { vec2 } from 'gl-matrix';
import { direction } from './direction';
/**
* 二维向量 v1 到 v2 的夹角
* @param v1
* @param v2
* @param direct
*/
export function angleTo(v1: [number, number], v2: [number, number], direct?: boolean): number {
const ang = vec2.angle(v1, v2);
const angleLargeThanPI = direction(v1, v2) >= 0;
if (direct) {
if (angleLargeThanPI) {
return Math.PI * 2 - ang;
}
return ang;
}
if (angleLargeThanPI) {
return ang;
}
return Math.PI * 2 - ang;
}