changes made:

added pointer masses at the tip of the rods by adding I[j]=Li*Li/4 + 2*m[j]*Li/2*Li/2; // rod original plus 2 masses
figure out how to draw the masses
xm1[j] =  L[j]/2*Math.sin(theta[j]);
zm1[j] =  L[j]/2*Math.cos(theta[j]);

xm2[j] =  - L[j]/2*Math.sin(theta[j]);
zm2[j] = - L[j]/2*Math.cos(theta[j]);

added slider to make inquiry possible when amplitude (0 to pi/2), shorter wavelength, shortest wavelength
make sliders control to my usual design, color, position.
added tips
reorder the combo to be one cycle first, shorter, shortest next.
made D = 20 m instead of the usual 10 to see the wave travel
change perspective to side view default to visual the waves
set n = 64 instead of 128 for loosen packed rods like the video