08.01.2013 Views

2008 Final Year Project – 1st Term Report - The Chinese University ...

2008 Final Year Project – 1st Term Report - The Chinese University ...

2008 Final Year Project – 1st Term Report - The Chinese University ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

MotionDB<br />

-_db : std::vector<br />

+MotionDB() : MotionDB<br />

+~MotionDB()<br />

+addNew(in motionName : std::string) : bool<br />

+remove(in motionName : std::string) : bool<br />

+size() : int<br />

+indexOf(in motionName : std::string) : int<br />

+[](in motionName : std::string) : &Motion<br />

+[](in index : int) : &Motion<br />

+saveState(in filePath : std::string) : bool<br />

+loadState(in filePath : std::string) : bool<br />

wiiDataFrame<br />

+Acceleration : acceleration<br />

+time : long<br />

1<br />

1<br />

<br />

wiiDataFrame::acceleration<br />

+x : float<br />

+y : float<br />

+z : float<br />

Department of Computer Science and Engineering, CUHK<br />

2007 <strong>–</strong> <strong>2008</strong> <strong>Final</strong> <strong>Year</strong> <strong>Project</strong> <strong>–</strong> <strong>1st</strong> <strong>Term</strong> <strong>Report</strong><br />

1 *<br />

*<br />

DTWClassifier<br />

+AverageError : float<br />

+AverageData : WiiDataList<br />

-_name : std::string<br />

-_rawData : std::vector<br />

-_processedData : WiiDataList<br />

+Motion() : Motion<br />

+Motion(in motionName : std::string) : Motion<br />

+~Motion()<br />

+name() : std::string<br />

+size() : int<br />

+addRawData(in data : &WiiDataList)<br />

+clearRawData()<br />

+deleteRawData(in index : int)<br />

+[](in index : int) : &WiiDataList<br />

+saveState(in file : *FILE)<br />

+loadState(in file : *FILE)<br />

LYU0702 Legendary of 18 Weapons - Motion Capture Data Analysis for Wii Remote Page 49 / 77<br />

Motion<br />

WiiDataList<br />

+Acceleration : acceleration<br />

+time : long<br />

-_data : std::vector<br />

+WiiDataList() : WiiDataList<br />

+~WiiDataList()<br />

+length() : int<br />

+add(in x : float, in y : float, in z : float, in time : long)<br />

+clear()<br />

+[](in index : int) : &wiiDataFrame<br />

+toString()<br />

+saveState(in file : *FILE)<br />

+loadState(in file : *FILE)<br />

+prepareDatabase(inout db : &MotionDB)<br />

+classify(in dataToClassify : &WiiDataList, in db : &MotionDB, in displayDetails : bool = true) : std::string<br />

-_getThreeDimensionDistance(in dataA : &WiiDataList, in dataB : &WiiDataList, in indexA : int, in indexB : int) : float<br />

-_maxDuration(in dataA : &WiiDataList, in dataB : &WiiDataList, in dataC : &WiiDataList) : char<br />

-_dtwMatrix(in dataA : WiiDataList, in dataB : WiiDataList, in getDistance : getDistance) : **float<br />

-_freeDTWMatrix(inout dtwMatrix : **float, in dataA : &WiiDataList)<br />

-_dtwDistance(in dataA : &WiiDataList, in dataB : &WiiDataList, in getDistance : getDistance) : float<br />

-_getDTWMapping(in dataA : &WiiDataList, in dataB : &WiiDataList, in getDistance : getDistance) : *std::vector<br />

-_generateError(in dataA : &WiiDataList, in dataB : &WiiDataList) : float<br />

getDistance<br />

+getDistance(in dataA : &WiiDataList, in dataB : &WiiDataList, in indexA : int, in indexB : int) : float<br />

Fig 4.1 <strong>The</strong> design structure of our data representation structure and classifier<br />

1<br />

1<br />

*

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!