| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { pointAtSegments, angleAtSegments, distanceAtSegment, lengthOfSegment } from './segments';
- import { getBBoxByArray } from './util';
- export default {
- /**
- * 计算多折线的包围盒
- * @param {array} points 点的集合 [x,y] 的形式
- * @return {object} 包围盒
- */
- box: function (points) {
- var xArr = [];
- var yArr = [];
- for (var i = 0; i < points.length; i++) {
- var point = points[i];
- xArr.push(point[0]);
- yArr.push(point[1]);
- }
- return getBBoxByArray(xArr, yArr);
- },
- /**
- * 计算多折线的长度
- * @param {array} points 点的集合 [x,y] 的形式
- * @return {object} 多条边的长度
- */
- length: function (points) {
- return lengthOfSegment(points);
- },
- /**
- * 根据比例获取多折线的点
- * @param {array} points 点的集合 [x,y] 的形式
- * @param {number} t 在多折线的长度上的比例
- * @return {object} 根据比例值计算出来的点
- */
- pointAt: function (points, t) {
- return pointAtSegments(points, t);
- },
- /**
- * 指定点到多折线的距离
- * @param {array} points 点的集合 [x,y] 的形式
- * @param {number} x 指定点的 x
- * @param {number} y 指定点的 y
- * @return {number} 点到多折线的距离
- */
- pointDistance: function (points, x, y) {
- return distanceAtSegment(points, x, y);
- },
- /**
- * 根据比例获取多折线的切线角度
- * @param {array} points 点的集合 [x,y] 的形式
- * @param {number} t 在多折线的长度上的比例
- * @return {object} 根据比例值计算出来的角度
- */
- tangentAngle: function (points, t) {
- return angleAtSegments(points, t);
- },
- };
- //# sourceMappingURL=polyline.js.map
|