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; }