Class TJSVelocityTrack
Index
Constructors
constructor
Creates a velocity tracker instance.
Parameters
Optionalopts: { resetDeltaTime?: number; scaleTime?: number }Optional parameters.
OptionalresetDeltaTime?: numberDelta time in milliseconds that resets velocity tracking.
OptionalscaleTime?: numberScales velocity calculation to new time frame. 1000 is velocity per second.
Returns TJSVelocityTrack
Accessors
resetDeltaTime
- get resetDeltaTime(): number
Returns number
Gets
resetDeltaTime. - set resetDeltaTime(resetDeltaTime: number): void
Sets
resetDeltaTime.Parameters
- resetDeltaTime: number
Delta time in milliseconds that resets velocity tracking.
Returns void
- resetDeltaTime: number
scaleTime
- get scaleTime(): number
Returns number
Gets
scaleTime. - set scaleTime(scaleTime: number): void
Sets
scaleTime.Parameters
- scaleTime: number
Scales velocity calculation to new time frame. 1000 is velocity per second.
Returns void
- scaleTime: number
Methods
get
Gets the current velocity tracking data.
Returns { x: number; y: number; z: number }
Velocity tracking data.
reset
Resets velocity tracking data.
Parameters
Optionalx: number'X' value to set to last sample point.
Optionaly: number'Y' value to set to last sample point.
Optionalz: number'Z' value to set to last sample point.
OptionalsampleTime: numberA sample time in milliseconds resolution.
Returns void
update
- update(
x?: number,
y?: number,
z?: number,
sampleTime?: number,
): { x: number; y: number; z: number }Runs ongoing velocity calculation of x / y / z given a sample time.
Parameters
Optionalx: numberNew sample X
Optionaly: numberNew sample Y
Optionalz: numberNew sample Z
OptionalsampleTime: numberAn optional specific time w/ millisecond resolution.
Returns { x: number; y: number; z: number }
current velocity.
Provides a way to calculate velocity via effectively creating a "complementary filter".
velQuickandvelSmoothseparately accumulate over time.velInstantandvelUseddo not accumulate and are discarded each update.velQuickis responsive, but noisy.velSmoothis laggy but eventually more accurate. By tracking them separately the used result can be responsive in the short term and accurate in the long term.