import java.io.*; import java.util.*; import java.lang.Math.*; public class vector3D { public double x; public double y; public double z; public vector3D() { reset(); } public vector3D( double x, double y, double z ) { this.x = x; this.y = y; this.z = z; } public vector3D( vector3D v ) { x = v.x; y = v.y; z = v.z; } public void set( vector3D v ) { x = v.x; y = v.y; z = v.z; } public void reset() { x = 0; y = 0; z = 0; } public void add( double d ) { x += d; y += d; z += d; } public void add( vector3D v ) { x += v.x; y += v.y; z += v.z; } public void sub( vector3D v ) { x -= v.x; y -= v.y; z -= v.z; } public void mul( double d ) { x *= d; y *= d; z *= d; } public void mul( vector3D v ) { x *= v.x; y *= v.y; z *= v.z; } public void div( double d ) { x /= d; y /= d; z /= d; } public void div( vector3D v ) { x /= v.x; y /= v.y; z /= v.z; } public void pow( double d ) { x = Math.pow( x, d ); y = Math.pow( y, d ); z = Math.pow( z, d ); } public double length() { double d = x * x + y * y + z * z; return Math.sqrt( d ); } public void normalize() { double d = x * x + y * y + z * z; div( Math.sqrt( d ) ); } public String toString() { return( "< " + x + ", " + y + ", " + z + " >" ); } }