X-Git-Url: https://git.r.bdr.sh/rbdr/lissajous/blobdiff_plain/5f6ef99eae91f53239f08143cead1249893fef81..6a87c2530865b5e18f70b71b456f43e72702c1c6:/lib/systems/lissajous_position_updater.js?ds=sidebyside diff --git a/lib/systems/lissajous_position_updater.js b/lib/systems/lissajous_position_updater.js index 0f5792d..39b151a 100644 --- a/lib/systems/lissajous_position_updater.js +++ b/lib/systems/lissajous_position_updater.js @@ -2,7 +2,7 @@ import { System } from '@serpentity/serpentity'; import LissajousCurve from '../nodes/lissajous_curve'; const internals = { - kAmplitude: 0.8, + kAmplitude: 1, kPeriod: Math.PI * 12000000 }; @@ -21,20 +21,19 @@ export default class WebGLRenderer extends System { removed(){ - this.curves = undefined; - this.time = undefined; + delete this.curves; + delete this.time; } update(dt){ - this.time = (this.time + dt / 100) % internals.kPeriod; + this.time = (this.time + dt / 500) % internals.kPeriod; for (const curve of this.curves) { - curve.position.x = this._getPosition(internals.kAmplitude, curve.frequency.a, this.time, 0); - curve.position.y = this._getPosition(internals.kAmplitude, curve.frequency.b, this.time, 0); - curve.position.z = this._getPosition(internals.kAmplitude, curve.frequency.c, this.time, 0); + curve.position.x = this._getPosition(curve.amplitude.a, curve.frequency.a, this.time, 0); + curve.position.y = this._getPosition(curve.amplitude.b, curve.frequency.b, this.time, 0); + curve.position.z = this._getPosition(curve.amplitude.c, curve.frequency.c, this.time, 0); } - console.log('UP'); } _getPosition(amplitude, frequency, time, phaseShift) {