Animation of wavelength of light v photon energy
Matlab code
% Cartoon of a magnon wave in 1-D or 2-D
clear; close all;
prompt = '1-D wave (1), or 2-D wave (2)? ';
d12 = input(prompt);
figure('units','pixels','position',[0 0 1920 1080],'ToolBar','none');
vid = VideoWriter('magnon.mp4','MPEG-4');
vid.Quality = 100;
vid.FrameRate = 30;
open(vid);
set(0,'defaultfigurecolor',[1 1 1]);
set(gca,'linewidth',7);
lp = [0.4 -0.4 0.7];
lp2 = [0 0 2];
r = 0.25;
[x,y,z] = sphere(70);
LL = 1.6;
if (d12 == 1)
kkmax = 0;
else
kkmax = 23;
end
for jj = 0:0.25:23.75
hold off;
for ii = 0:23
for kk = 0:kkmax
newplot
spin = mArrow3([ii kk -1],[ii kk 1.4],'color','r','stemWidth',0.08,'tipWidth',0.14,'facealpha',1);
rotate(spin,[1 0 0],30,[ii,kk,0]);
rotate(spin,[0 0 1],(ii+jj+kk)*180/12,[ii,kk,0]);
hold on
surf(ii+x*r,kk+y*r,z*r,'FaceColor',[0.28 0.32 0.64],'EdgeColor','none');
end
end
axis equal
axis off
xlim([-2 26]);
if (d12 == 1)
ylim([-LL LL]);
else
ylim([-2 26]);
end
zlim([-LL LL]);
view(25,20);
light('Position',lp,'Style','infinite');
light('Position',lp2,'Style','infinite');
frame = getframe(gcf);
writeVideo(vid,frame);
end
hold off;
% Output the movie as an mpg file
close(vid);