Untitled
unknown
javascript
a year ago
3.4 kB
9
Indexable
const distanceToStop = round(
(round(Math.abs(firstFootKeypointMean - currentFootKeypointMean) * pix2meters, 2) * 10) / this.breakPhaseMeter - 10,
2
); // meter
const runningTime = (this.breakPhaseTime - this.startTime) / 1000;
const timeToStop = round((Date.now() - this.breakPhaseTime) / 1000 - (stopWithFinishLine ? 0 : 1), 2);
const averageHorizontalDec = distanceToStop / timeToStop / timeToStop;
var peakVelocity = Number.NEGATIVE_INFINITY;
var peakVTime;
var modifyVelocity = ReportFuncs.modifyVelocityList(this.velocityMoveNet).filter((v, i) => i % 6 === 0);
var centerPeakTime;
var centerDif = Number.POSITIVE_INFINITY;
let closestValue = null;
let minTimeDifference = Infinity;
for (let i = 0; i < modifyVelocity.length; i++) {
const element = modifyVelocity[i];
const timeDifference = Math.abs(element.time - runningTime);
if (timeDifference < minTimeDifference) {
minTimeDifference = timeDifference;
closestValue = element.value;
}
if (element.time <= runningTime && element.value > peakVelocity) {
peakVelocity = element.value;
peakVTime = element.time;
}
if (element.time > runningTime) {
var dif = Math.abs(element.value - closestValue / 2);
if (centerDif > dif) {
centerDif = dif;
centerPeakTime = element.time;
}
}
}
const peakMoment = personMass * peakVelocity;
const horivontalBreakImpulse = peakMoment / (runningTime - peakVTime + timeToStop);
const earlyTime = centerPeakTime - runningTime;
const avarageEarlyDec = round(closestValue / 2 / earlyTime, 2);
const avarageLateDec = round(closestValue / 2 / (timeToStop - earlyTime), 2);
const decRatio = round(avarageEarlyDec / avarageLateDec, 2);
console.log("runningTime: ", runningTime);
console.log("peakVelocity: ", peakVelocity);
console.log("peakMoment: ", peakMoment);
console.log("averageHorizontalDec: ", averageHorizontalDec);
console.log("horivontalBreakImpulse: ", horivontalBreakImpulse);
console.log("timeToStop: ", timeToStop);
console.log("distanceToStop: ", distanceToStop);
console.log("avarageEarlyDec: ", avarageEarlyDec);
console.log("avarageLateDec: ", avarageLateDec);
console.log("Early/Late DEC Ratio: ", decRatio);
const myProps = new AdaStatesModel({
jumpType: this.jumpType,
runningTime: runningTime,
velocity: round(peakVelocity, 2),
peakVTime: round(peakVTime, 2),
centerBreakTime: round(centerPeakTime, 2),
moment: round(peakMoment, 2),
avarageHorizontalDec: round(averageHorizontalDec, 2),
horizantalBrakingImpulse: round(horivontalBreakImpulse, 2),
timeToStop: timeToStop,
distanceToStop: distanceToStop,
avarageEarlyDec: avarageEarlyDec,
avarageLateDec: avarageLateDec,
decRatio: decRatio,
heights: this.heightMoveNet.filter((v, i) => i % 6 === 0),
velecities: modifyVelocity,
points: this.pointsMoveNet.filter((v, i) => i % 6 === 0),
imgStanding: this.state.jumpImage1,
imgBraking: this.state.jumpImage2,
imgJumping: this.state.jumpImage3,
imgSecondBraking: webcamRef.current.getScreenshot(),
});Editor is loading...
Leave a Comment