public Electrostatic_field(Physic.Position pos)
        {
            this.Ke=cst.Ke;

            this.set_x(0);
            this.set_y(0);
            this.set_z(0);

            this.apply_to.set_x( pos.get_x() );
            this.apply_to.set_y( pos.get_y() );
            this.apply_to.set_z( pos.get_z() );
        }
        public Magnetostatic_field(Physic.Position pos)
        {
            this.Km=cst.Km;

            this.set_x(0);
            this.set_y(0);
            this.set_z(0);

            this.apply_to.set_x( pos.get_x() );
            this.apply_to.set_y( pos.get_y() );
            this.apply_to.set_z( pos.get_z() );
        }
        public Electrostatic_field(Charge chg,Physic.Position pos)
        {
            this.Ke=cst.Ke;

            // E stands for Electrostatic_field
            float d = chg.get_position().distance(pos);

            float X = (pos-chg.get_position()).get_x();
            float Y = (pos-chg.get_position()).get_y();
            float Z = (pos-chg.get_position()).get_z();

            this.set_x( Ke * chg.get_charge() / ((float) System.Math.Pow(d,n+1))* X );
            this.set_y( Ke * chg.get_charge() / ((float) System.Math.Pow(d,n+1))* Y );
            this.set_z( Ke * chg.get_charge() / ((float) System.Math.Pow(d,n+1))* Z );

            this.apply_to.set_x( pos.get_x() );
            this.apply_to.set_y( pos.get_y() );
            this.apply_to.set_z( pos.get_z() );
        }
        public Physic.Electrostatic_field real_to_screen(Physic.Electrostatic_field E_real)
        {
            Physic.Electrostatic_field E_screen = new Physic.Electrostatic_field();

            E_screen.set_x (
                real_to_screen(
                E1_real.get_x(),
                E1_screen.get_x(),
                E2_real.get_x(),
                E2_screen.get_x(),
                E_real.get_x())
                           );

            E_screen.set_y (
                real_to_screen(
                E1_real.get_y(),
                E1_screen.get_y(),
                E2_real.get_y(),
                E2_screen.get_y(),
                E_real.get_y())
                           );

            E_screen.set_z (
                real_to_screen(
                E1_real.get_z(),
                E1_screen.get_z(),
                E2_real.get_z(),
                E2_screen.get_z(),
                E_real.get_z())
                           );

            E_screen.apply_to.set_x (
                real_to_screen(
                E1_real.apply_to.get_x(),
                E1_screen.apply_to.get_x(),
                E2_real.apply_to.get_x(),
                E2_screen.apply_to.get_x(),
                E_real.apply_to.get_x())
                                    );

            E_screen.apply_to.set_y (
                real_to_screen(
                E1_real.apply_to.get_y(),
                E1_screen.apply_to.get_y(),
                E2_real.apply_to.get_y(),
                E2_screen.apply_to.get_y(),
                E_real.apply_to.get_y())
                                    );

            E_screen.apply_to.set_z (
                real_to_screen(
                E1_real.apply_to.get_z(),
                E1_screen.apply_to.get_z(),
                E2_real.apply_to.get_z(),
                E2_screen.apply_to.get_z(),
                E_real.apply_to.get_z())
                                    );

            return E_screen;
        }
        public Physic.Electrostatic_field screen_to_real(Physic.Electrostatic_field E_screen)
        {
            Physic.Electrostatic_field E_real = new Physic.Electrostatic_field();

            E_real.set_x (
                screen_to_real(
                E1_screen.get_x(),
                E1_real.get_x(),
                E2_screen.get_x(),
                E_real.get_x(),
                E_screen.get_x())
                         );

            E_real.set_y (
                screen_to_real(
                E1_screen.get_y(),
                E1_real.get_y(),
                E2_screen.get_y(),
                E_real.get_y(),
                E_screen.get_y())
                         );

            E_real.set_z (
                screen_to_real(
                E1_screen.get_z(),
                E1_real.get_z(),
                E2_screen.get_z(),
                E_real.get_z(),
                E_screen.get_z())
                         );

            E_real.apply_to.set_x (
                screen_to_real(
                E1_screen.apply_to.get_x(),
                E1_real.apply_to.get_x(),
                E2_screen.apply_to.get_x(),
                E_real.apply_to.get_x(),
                E_screen.apply_to.get_x())
                                  );

            E_real.apply_to.set_y (
                screen_to_real(
                E1_screen.apply_to.get_y(),
                E1_real.apply_to.get_y(),
                E2_screen.apply_to.get_y(),
                E_real.apply_to.get_y(),
                E_screen.apply_to.get_y())
                                  );

            E_real.apply_to.set_z (
                screen_to_real(
                E1_screen.apply_to.get_z(),
                E1_real.apply_to.get_z(),
                E2_screen.apply_to.get_z(),
                E_real.apply_to.get_z(),
                E_screen.apply_to.get_z())
                                  );

            return E_real;
        }