-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
源代码如下:
uniqueAxes(axes: Axis[]): Axis[] {
let axisVector: Vector,
tmpAxes: Axis[] = [],
axesTable = {},
i, gradient;
for (i = 0; i < axes.length; i++) {
axisVector = axes[i].value;
gradient = (axisVector.y === 0) ? Infinity : (axisVector.x / axisVector.y);
// 限制精度
gradient = gradient.toFixed(3).toString();
axesTable[gradient] = axes[i];
}
Object.keys(axesTable).map(item => {
tmpAxes.push(axesTable[item]);
});
return tmpAxes;
},
可修改如下,少了几次没有意义的循环
uniqueAxes(axes: Axis[]): Axis[] {
let axisVector: Vector,
tmpAxes: Axis[] = [],
axesTable = {},
i, gradient;
for (i = 0; i < axes.length; i++) {
axisVector = axes[i].value;
gradient = (axisVector.y === 0) ? Infinity : (axisVector.x / axisVector.y);
// 限制精度
gradient = gradient.toFixed(3).toString();
axesTable[gradient] = axes[i];
tmpAxes.push(axes[i]);
}
return tmpAxes;
},
源代码
rotate(radian: number) {
// 旋转顶点
Vertices.rotate(this.vertexList, radian, this.rotateCenter);
_tempVector4.x = this.rotateCenter.x - this.position.x;
_tempVector4.y = this.rotateCenter.y - this.position.y;
_tempVector4.x = 0;
_tempVector4.y = 0;
// 转动轴
for(let i = 0; i < this.axes.length; i++) {
this.axes[i] && this.axes[i].value.rot(radian, _tempVector4, this.axes[i].value);
}
// 更新包围盒
this.bound.update(this.vertexList);
}
_tempVector4.x 出现了无意义赋值
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels