changes made:
redesign the slits to be 2 instead of the older single slit
made the 2 slits symmetric centered with moved by y slider
add the 2 slits scalarField by introducing the idea of superposition from the top set of secondary sources
[code]for(int i=0;i yc=yi+i*dy; // lay the source in y
yctop=yitop+i*dy; // duplicate for top slit
ycc[i] = yi+i*dy; // by lookang for drawing source
 ycctop[i] = yitop+i*dy; // by lookang for drawing source
for(int j=0;j //  if (x     x=xmin+j*d;
//    }
//    else if (x>x1){
//   x=x1+j*d;
 // r=x-x1; // r is distance from array point x to slit position x1
//   x2=(x-xc)*(x-xc);
//   }
 for(int k=0;k   y=ymin+k*d;
  if (x      r=x-x1; // r is distance from array point x to slit position x1
      zsum[j][k]=Math.sin(kw*r-omega*t)*n; // need n to compensate for the magnitude
 else if (x>=x1){

add path difference tools to allow sense making that when path difference = integer of wavelength, correspond to constructive interference. and 1/2 of integer is destructive interference like in Ejs Open Source Ripple Tank Interference Model java applet

17 october 2011
add d separation = ycentre2*2 to align with teaching and learning

this simulation is made possible by the open source codes shared by Fu-Kwun Hwang, the true master teacher!