public float dotProduct(Vector v)
 {
     return u * v.u + this.v * v.v;
 }
 public float crossProduct(Vector v)
 {
     return u * v.v - this.v * v.u;
 }