//produit vectoriel
	Vecteur operator^(const Vecteur & v) const
	{
		Vecteur res;
		res.x() = (*this).y()*v.z() - (*this).z()*v.y();
		res.y() = (*this).z()*v.x() - (*this).x()*v.z();
		res.z() = (*this).x()*v.y() - (*this).y()*v.x();
		return res;
	}
	//operateur soustraction
	Vecteur operator- (const Vecteur & v) const
	{
		Vecteur res;
		res.x() = x() - v.x();
		res.y() = y() - v.y();
		res.z() = z() - v.z();
		return res;
	}
	//division par un scalaire
	Vecteur operator/ (double d) const
	{
		Vecteur res;
		res.x() = x()/d;
		res.y() = y()/d;
		res.z() = z()/d;
		return res;
	}
	//operateur unaire negatif
	Vecteur operator- () const
	{
		Vecteur res;
		res.x() = -x();
		res.y() = -y();
		res.z() = -z();
		return res;
	}
	Vecteur(const Vecteur & v)
	{
		x() = v.x();
		y() = v.y();
		z() = v.z();
	}
	//produit scalaire
	double operator* (const Vecteur & v) const
	{
		return x()*v.x() + y()*v.y() + z()*v.z();
	}