Class for statistical Foot Ranking model

This commit is contained in:
David Wilson
2003-12-17 01:44:03 +00:00
parent 05f1d908d6
commit e758c9a1c5
2 changed files with 79 additions and 0 deletions
+39
View File
@@ -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;
}
+40
View File
@@ -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