float dotproduct(const vector3d &a, const vector3d &b)
{
	return a.getx()*b.getx() + a.gety()*b.gety() + a.getz()+b.getz();
}
vector3d crossproduct(const vector3d &a, const vector3d &b)
{
	return vector3d(a.gety()*b.getz() - a.getz()*b.gety(),
					a.getz()*b.getx() - a.getx()*b.getz(),
					a.getx()*b.gety() - a.gety()*b.getx());
}