将一个四边形按等比划分,得出线段坐标(不包含外层矩形的边),还可根据外层矩形+所有线段坐标得出所有多边形的坐标。
/*
* @params ABCD分别对应四边形的左上、右上、右下、左下,顺时针方向
*/
/*
* @params coord [Array([])] 二维数组,存放多边形的定点坐标,顺时针
*/
function Polygon (coord) {
for (var i = 0, len = coord.length; i < len; i++) {
this[String.fromCharCode(65 + i)] = coord[i];
}
}
Polygon.prototype._getDisCoord = function (a, b, curIndex, length) {
return a - (a - b) * curIndex / length;
}
Polygon.prototype._dealCoord = function (a, b, splitLineNum) {
var splitAreaNum = splitLineNum + 1; // 分成了多少份线段
var result = [];
for (var i = 1; i < splitAreaNum; i++) {
var x = this._getDisCoord(a[0], b[0], i, splitAreaNum);
var y = this._getDisCoord(a[1], b[1], i, splitAreaNum);
result.push([x, y]);
}
return result;
}
/*
* @fn getVerCoord 内部绘制线是水平方向时,各点的坐标
* @params splitLineNum [in