Para la realización de esta simulación es conveniente partir del ejemplo crea_part_raton.xml realizado en el apartado:
Ejs II.5 Cómo crear partículas con el ratón. Añadimos las varibles que se muestran en la imagen para calcular el campo elétrico y una variable booleana para conmutar entre crear cargas y calcular el campo. |
A la función propia del anterior ejemplo le añadimos el cálculo del campo eléctrico con un conmutador:
public void Crea_Particula () {
if (campo==false){
n = n + 1;
xp[n] = x_raton;
yp[n] = y_raton;
visible[n] = true;
}
// Calcula campo
else {
if(n+1>0){
Ex = 0;
Ey = 0;
for(int i=0;i<(n+1); i++){
double deno = (x_raton - xp[i])*(x_raton - xp[i]) + (y_raton - yp[i])*(y_raton - yp[i]);
Ex = Ex + escala*(x_raton - xp[i])/deno;
Ey = Ey + escala*(y_raton - yp[i])/deno;
}
}
}
}
Al ser un problema bidimensional la dependencia con la distancia es como el inverso de esta. Asociamos esta función a la acción Al Mover de las propiedades del PanelDibujo. Creamos una flecha que nos represente al campo eléctrico, su origen seran las variables x_raton e y_raton y su tamaño las componentes del campo Ex y Ey.
|