Updated templates
[gsk.git] / GestureDetectionApp / GestureRecognition / src / at / mus / recognition / dtw / Acceleration.java
blob6e9262c0b2e1509fdafff140a2561bf27245cb1c
1 package at.mus.recognition.dtw;
3 import at.mus.recognition.ICoordinate;
5 public class Acceleration implements ICoordinate {
6 public float x, y, z;
8 public Acceleration(float x, float y, float z) {
9 this.x = x;
10 this.y = y;
11 this.z = z;
14 public Acceleration(float[] value) {
15 this(value[0], value[1], value[2]);
18 /**
19 * Returns distance between 2 vectors
20 * @param acc
21 * @return
23 @Override
24 public float distance(ICoordinate acc) {
25 return (float) Math.sqrt(difference((Acceleration)acc).length());
28 /**
29 * Returns length of the vector
30 * @return
32 public float length() {
33 return (float)Math.sqrt(x*x + y*y + z*z);
36 /**
37 * Returns difference between 2 vectors
38 * @return
40 public Acceleration difference(Acceleration acc) {
41 return new Acceleration(x - acc.x, y - acc.y, z - acc.z);
44 @Override
45 public ICoordinate add(ICoordinate other) {
46 Acceleration acc = (Acceleration)other;
47 return new Acceleration(x+acc.x, y+acc.y, z+acc.z);
50 @Override
51 public ICoordinate divide(float f) {
52 return new Acceleration((float)x/f, (float)y/f, (float)z/f);
55 @Override
56 public float[] coords() {
57 return new float[] { x, y, z };
60 @Override
61 public void coords(float[] coords) {
62 x = coords[0];
63 y = coords[1];
64 z = coords[2];
67 @Override
68 public float getX() {
69 return x;
72 @Override
73 public float getY() {
74 return y;
77 @Override
78 public float getZ() {
79 return z;