clear all
close all
max_frames = 500;

f_x = 1;
f_y = 1.5;
dt = 2*pi/500;

f = figure();
f.Visible = false;
f.PaperUnits = 'centimeters';
f.PaperSize = [2.5 2.5];
f.PaperPosition = [0.0 0.0 2.5, 2.5];
f.Color = 'white';

writer = VideoWriter('../lecture/images/lissajous.mp4', 'MPEG-4');
writer.FrameRate = 25;
writer.Quality = 50;

open(writer);
for i = 1:max_frames
    x = sin(f_x * 2 * pi * dt * i);
    y = sin(f_y * 2 * pi * dt * i);
    scatter(x, y, 30, 'r', 'filled');
    xlim([-1.05, 1.05])
    xticks([-1., 0., 1.])
    ylim([-1.05, 1.05])
    yticks([-1., 0., 1.])
    xlabel('x')
    ylabel('y')
    drawnow;
    frame = getframe(f);
    writeVideo(writer, frame);
end
close(writer)

x_positions = zeros(max_frames, 1);
y_positions = zeros(max_frames, 1);
for i = 1:max_frames
    x_positions(i) = sin(f_x * 2 * pi * dt * i);
    y_positions(i) = sin(f_y * 2 * pi * dt * i);
end

f = figure();
f.PaperUnits = 'centimeters';
f.PaperSize = [2.5 2.5];
f.PaperPosition = [0.0 0.0 2.5, 2.5];
f.Color = 'white';

scatter(x_positions, y_positions, 10, 'r', 'filled');
xlim([-1.05, 1.05])
xticks([-1., 0., 1.])
ylim([-1.05, 1.05])
yticks([-1., 0., 1.])
xlabel('x')
ylabel('y')

saveas(f, '../lecture/images/lissajous.png')