diff --git a/packages/graphin/src/layout/force/Point.ts b/packages/graphin/src/layout/force/Point.ts index 429c1f773..e689848a0 100644 --- a/packages/graphin/src/layout/force/Point.ts +++ b/packages/graphin/src/layout/force/Point.ts @@ -26,11 +26,11 @@ class Point { this.data = data; } - updateAcc(force: Vector) { + updateAcc = (force: Vector) => { /** * 加速度也是一个向量,根据力的平行四边形法则进行力的合成,用向量运算就是加运算 */ this.a = this.a.add(force.divide(this.m)); // a = a + F/m - } + }; } export default Point; diff --git a/packages/graphin/src/layout/force/Vector.ts b/packages/graphin/src/layout/force/Vector.ts index 7832daabf..0b07155d2 100644 --- a/packages/graphin/src/layout/force/Vector.ts +++ b/packages/graphin/src/layout/force/Vector.ts @@ -19,33 +19,33 @@ class Vector { this.y = y; } - getvec() { + getvec = () => { return this; - } + }; - add(v2: Vector) { + add = (v2: Vector) => { return new Vector(this.x + v2.x, this.y + v2.y); - } + }; - subtract(v2: Vector) { + subtract = (v2: Vector) => { return new Vector(this.x - v2.x, this.y - v2.y); - } + }; - magnitude() { + magnitude = () => { return Math.sqrt(this.x * this.x + this.y * this.y); - } + }; - normalise() { + normalise = () => { return this.divide(this.magnitude()); - } + }; - divide(n: number) { + divide = (n: number) => { return new Vector(this.x / n || 0, this.y / n || 0); - } + }; - scalarMultip(n: number) { + scalarMultip = (n: number) => { return new Vector(this.x * n, this.y * n); - } + }; } export default Vector;