/* * Created on Feb 8, 2005 * */ /** * @author knorton */ public class Vector2D { public float i,j; public Vector2D() { this.i=0f; this.j=0f; } public Vector2D(float i, float j) { this.i = i; this.j = j; } public float getLength() { return (float)Math.sqrt(i*i + j*j); } public void normalize() { float l = getLength(); i /= l; j /= l; } public void scale(float s) { i *= s; j *= s; } public void scale(float si, float sj) { i *= si; j *= sj; } public void translate(float di, float dj) { i += di; j += dj; } public void add(Vector2D v) { i += v.i; j += v.j; } public void set(float i,float j) { this.i = i; this.j = j; } public static float dotProduct(Vector2D v1, Vector2D v2) { return v1.i*v2.i + v1.j*v2.j; } public static Vector2D crossProduct(Vector2D v1, Vector2D v2) { return new Vector2D(v1.i*v2.i,v2.j*v2.j); } public String toString() { return "("+i+","+j+")"; } }