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
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 r/λ de 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);
}
}
|
