view src/samer/tools/vec2.java @ 5:b67a33c44de7

Remove some crap, etc
author samer
date Fri, 05 Apr 2019 21:34:25 +0100
parents bf79fb79ee13
children
line wrap: on
line source
/*
 *	Copyright (c) 2000, Samer Abdallah, King's College London.
 *	All rights reserved.
 *
 *	This software is provided AS iS and WITHOUT ANY WARRANTY; 
 *	without even the implied warranty of MERCHANTABILITY or 
 *	FITNESS FOR A PARTICULAR PURPOSE.
 */

package samer.tools;

public class vec2 implements java.io.Serializable {
   public double x, y;

   public double norm()        { return x*x+y*y; }
   public vec2 neg()           { return new vec2(-x,-y); }
   public void add( vec2 a)    { x+=a.x; y+=a.y; }
   public void sub( vec2 a)    { x-=a.x; y-=a.y; }
   public void mul( double k)  { x*=k; y*=k; }
   public void div( double k)  { x/=k; y/=k; }
   public void assign( vec2 a) { x=a.x; y=a.y; }
   public void assign( double i, double j) { x=i; y=j; }
   public void normalise()     { div( Math.sqrt(norm())); }

   public static vec2 add( vec2 a, vec2 b)   { return new vec2(a.x+b.x,a.y+b.y); }
   public static vec2 sub( vec2 a, vec2 b)   { return new vec2(a.x-b.x,a.y-b.y); }
   public static vec2 div( vec2 a, double k) { return new vec2(a.x/k,a.y/k); }
   public static vec2 mul( vec2 a, double k) { return new vec2(a.x*k,a.y*k); }
   public static vec2 mul( double k, vec2 a) { return new vec2(a.x*k,a.y*k); }
   public static double dot( vec2 a, vec2 b) { return a.x*b.x + a.y*b.y; }

   public vec2()        {}
   public vec2( vec2 a) { x=a.x; y=a.y; }
   public vec2( double i, double j) { x=i; y=j; }
}