Class for statistical Foot Ranking model
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
#include "global.h"
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
Class: FootModel
|
||||
|
||||
Desc: See header.
|
||||
|
||||
Copyright (c) 2003 by the person(s) listed below. All rights reserved.
|
||||
David Wilson
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
#include "Steps.h"
|
||||
#include "FootModel.h"
|
||||
|
||||
|
||||
FootModel::FootModel(Steps* model)
|
||||
{
|
||||
//Define and Init Non-Radar Values
|
||||
double SV;
|
||||
double ChaosSquare;
|
||||
SV = model->GetRadarValues()[RADAR_STREAM] * model->GetRadarValues()[RADAR_VOLTAGE];
|
||||
ChaosSquare = model->GetRadarValues()[RADAR_CHAOS] * model->GetRadarValues()[RADAR_CHAOS];
|
||||
|
||||
m_predictedMeter = BETA_ZERO;
|
||||
m_predictedMeter += STREAM * model->GetRadarValues()[RADAR_STREAM];
|
||||
m_predictedMeter += VOLTAGE * model->GetRadarValues()[RADAR_VOLTAGE];
|
||||
m_predictedMeter += AIR * model->GetRadarValues()[RADAR_AIR];
|
||||
m_predictedMeter += FREEZE * model->GetRadarValues()[RADAR_FREEZE];
|
||||
m_predictedMeter += CHAOS * model->GetRadarValues()[RADAR_CHAOS];
|
||||
m_predictedMeter += SXV * SV;
|
||||
m_predictedMeter += CSQUARE * ChaosSquare;
|
||||
if (model->GetDifficulty() == DIFFICULTY_HARD) m_predictedMeter += HEAVY;
|
||||
if (model->GetDifficulty() == DIFFICULTY_EASY) m_predictedMeter += LIGHT;
|
||||
}
|
||||
|
||||
FootModel::GetPMeter()
|
||||
{
|
||||
return m_predictedMeter;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
#ifndef FOOTMODEL_H
|
||||
#define FOOTMODEL_H
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
File: FootModel.h
|
||||
|
||||
Desc: Holds the equation for the statistical model for determining foot
|
||||
ranking from Groove Radar and difficulty
|
||||
|
||||
Copyright (c) 2003 by the person(s) listed below. All rights reserved.
|
||||
David Wilson
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
/*
|
||||
Meter = 0.775 + 10.1 Stream + 5.27 Voltage - 0.905 Air - 1.10 Freeze
|
||||
+ 2.86 Chaos + 0.722 Heavy - 0.877 Light - 6.35 SV Interaction
|
||||
- 2.58 CSQ
|
||||
*/
|
||||
class FootModel
|
||||
{
|
||||
private:
|
||||
|
||||
//Model Coefficients
|
||||
#define BETA_ZERO (0.775)
|
||||
#define STREAM (10.1)
|
||||
#define VOLTAGE (5.27)
|
||||
#define AIR (-0.905)
|
||||
#define FREEZE (-1.10)
|
||||
#define CHAOS (2.86)
|
||||
#define HEAVY (0.722)
|
||||
#define LIGHT (-0.877)
|
||||
#define SXV (-6.35) // Square/Voltage Interaction Varible
|
||||
#define CSQUARE (-2.58)
|
||||
double m_predictedMeter;
|
||||
|
||||
public:
|
||||
FootModel(Steps* model);
|
||||
double GetPMeter;
|
||||
};
|
||||
#endif
|
||||
Reference in New Issue
Block a user