//champ electrique dans un point quelconque #include #include using namespace std; void fieldComp(double x, double y, double z, double xp, double yp, double zp, double q, double &ex, double &ey, double &ez); double distanceToPoint(double x, double y, double z, double xp, double yp, double zp); //constante dielectrique const double eps0=8.854e-12; int main() { double R; cout << "Entrez le rayon de l'anneau (en m) : "; cout << "R = "; cin >> R; double Q; cout << "Entrez le charge de l'anneau (en C) : "; cout << "Q = "; cin >> Q; int div; cout << "Entrez le nombre N de divisions de l'anneau : "; cin >> div; double xp, yp, zp; cout << "Entrez les coordonnees du point X (en m) : " << endl; cout << "x = "; cin >> xp; cout << "y = "; cin >> yp; cout << "z = "; cin >> zp; /* On imagine l'anneau dans le plan xy, unidimensionnel 1) l'anneau est divise en N segments 2) on "boucle" sur les segments de l'anneau 3) on calcule le champ genere par chaque segment 4) on additionne les contributions au champ total. */ double deltaPhi = 2.*M_PI/div; //charge du segment (q et Q sont 2 variables differentes !) double q = Q/div; double xseg, yseg, zseg; double phi; double distance=0.; double ex, ey, ez; double fieldX=0., fieldY=0., fieldZ=0.; //boucle sur l'anneau for (int iseg=0; iseg