Anterior

Líneas de fuerza eléctricas de un dipolo eléctrico oscilante

La ecuación de las líneas de fuerza eléctricas de un dipolo eléctrico oscilante es

sin 2 θ· ƛ 2 r 2 +1 ·cos( ωt r ƛ +arctan r ƛ )=Kƛƛ= λ 2π

Campos y ondas electromagnéticas, P. Lorrain D. R. Corson, Selecciones científicas (1972), pág. 652

Se fija ωt y se dan valores a la constante Kλ. Para cada ángulo 0<θ≤π/2 se calcula las raíces rde la ecuación trascendente por el procedimiento del punto medio

public class Funcion extends Ecuacion {
    double teta=0.0;
    double Q;
    double wt;
    public Funcion(double wt, double q){
        this.wt=wt;
        this.Q=q;
    }
    public void setParam(double ang, double q){
        this.teta=ang*Math.PI/180;
        this.Q=q;
    }
    public double f(double x){
       double y=Math.sin(teta)*Math.sin(teta)*Math.sqrt(1+1/(x*x))*
Math.cos(wt-x+Math.atan(x))-Q;
      return y;
    }
}

public class MiCanvas extends Canvas {
 //...
 void setNuevo(double wt){
    this.wt=wt;
    funcion=new Funcion(wt, 0.7);
    poly.npoints=0;
 }
  void grafica(Graphics g){
//rutina para el trazdo de las líneas de fuerza
     int x1, y1;
     for(double Q=-2.0; Q<2.0; Q+=0.25) {
        for(double ang=0.25; ang<=90; ang+=0.25){
            funcion.setParam(ang, Q);
            double[] ceros=funcion.hallarRaices(0.0, 20, 0.5);
            for(int i=0; i<ceros.length; i++){
                x1=(int)(ceros[i]*Math.cos(ang*Math.PI/180)*escala);
                y1=(int)(ceros[i]*Math.sin(ang*Math.PI/180)*escala);
                poly.addPoint(x1, y1);
          }
        }
    }
//simetría
    for(int i=0; i<poly.npoints; i++){
        x1=orgX-poly.xpoints[i];
        y1=orgY-poly.ypoints[i];
        g.fillRect(x1-1, y1-1, 2, 2);
        x1=orgX+poly.xpoints[i];
        y1=orgY-poly.ypoints[i];
        g.fillRect(x1-1, y1-1, 2, 2);
        x1=orgX+poly.xpoints[i];
        y1=orgY+poly.ypoints[i];
        g.fillRect(x1-1, y1-1, 2, 2);
        x1=orgX-poly.xpoints[i];
        y1=orgY+poly.ypoints[i];
        g.fillRect(x1-1, y1-1, 2, 2);
    }
}

Anterior