//
import java.awt.*;
public class Vec
{
//----- VECTOR MATH -----
public static void normalize(double[] v) {
double s = norm(v);
for (int i = 0 ; i < v.length ; i++)
v[i] /= s;
}
public static double norm(double[] v) {
return Math.sqrt(dot(v,v));
}
public static double dot(double[] a, double[] b) {
double sum = 0;
for (int i = 0 ; i < b.length ; i++)
sum += a[i] * b[i];
return sum;
}
public static void cross(double[] a, double[] b, double[] dst) {
dst[0] = b[1] * a[2] - b[2] * a[1];
dst[1] = b[2] * a[0] - b[0] * a[2];
dst[2] = b[0] * a[1] - b[1] * a[0];
}
public static void copy(double[] src, double[] dst) {
for (int i = 0 ; i < src.length ; i++)
dst[i] = src[i];
}
public static void set(double[] dst, double x, double y, double z) {
dst[0] = x;
dst[1] = y;
dst[2] = z;
}
}