X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FVec.java;h=bc10a3495022cac3b4f7fd845407347aa09e6416;hp=007291127ce31c66eb993d1b7900c1b55a74eda5;hb=0e80eb500d944f8ad1f3a9e2d296d9a4cbcd7e25;hpb=8333b6805df84244a7524fbdc58e9a6820fb0b6c diff --git a/src/edu/berkeley/qfat/geom/Vec.java b/src/edu/berkeley/qfat/geom/Vec.java index 0072911..bc10a34 100644 --- a/src/edu/berkeley/qfat/geom/Vec.java +++ b/src/edu/berkeley/qfat/geom/Vec.java @@ -1,5 +1,6 @@ package edu.berkeley.qfat.geom; import javax.media.opengl.*; +import javax.media.opengl.glu.*; /** vector in 3-space; immutable */ public final class Vec { @@ -9,8 +10,9 @@ public final class Vec { public Vec(Point p1, Point p2) { this(p2.x-p1.x, p2.y-p1.y, p2.z-p1.z); } public Vec cross(Vec v) { return new Vec(y*v.z-z*v.y, z*v.x-x*v.z, x*v.y-y*v.x); } public Vec plus(Vec v) { return new Vec(x+v.x, y+v.y, z+v.z); } + public Point plus(Point p) { return p.plus(this); } + public Vec minus(Vec v) { return new Vec(x-v.x, y-v.y, z-v.z); } public Vec norm() { return mag()==0 ? this : div(mag()); } - public Vec times(Matrix m) { return m.apply(this); } public float mag() { return (float)Math.sqrt(x*x+y*y+z*z); } public float dot(Vec v) { return x*v.x + y*v.y + z*v.z; } public Vec times(float mag) { return new Vec(x*mag, y*mag, z*mag); }