// Cross product. Finds perpendicular direction to plane defined by 2. Also useful for lighting and angles Direction Direction::Cross(const Direction& direction) const { return Direction::Coordinates( Get_Y() * direction.Get_Z() - Get_Z() * direction.Get_Y(), Get_Z() * direction.Get_X() - Get_X() * direction.Get_Z(), Get_X() * direction.Get_Y() - Get_Y() * direction.Get_X()); }
// Dot product. Useful for lighting float Direction::Dot(const Direction& direction) const { float answer = (Get_X() * direction.Get_X()) + (Get_Y() * direction.Get_Y()) + (Get_Z() * direction.Get_Z()); return (answer); }