/** * cross product of a normal and a vector * * @param v1 * @param v2 * @return */ public static Vector cross(Normal v1, Vector v2) { return new Vector( (v1.getY() * v2.getZ()) - (v1.getZ() * v2.getY()), (v1.getZ() * v2.getX()) - (v1.getX() * v2.getZ()), (v1.getX() * v2.getY()) - (v1.getY() * v2.getX())); }
// ! produit scalaire d'une normale et d'un vecteur. public static float dot(Normal n1, Vector v2) { return n1.getX() * v2.getX() + n1.getY() * v2.getY() + n1.getZ() * v2.getZ(); }
// ! produit scalaire de 2 normales. public static float dot(Normal n1, Normal n2) { return n1.getX() * n2.getX() + n1.getY() * n2.getY() + n1.getZ() * n2.getZ(); }
public static Vector vector(Normal n) { return new Vector(n.getX(), n.getY(), n.getZ()); }