Brilliant question, so good I thought I'd take 15 minutes of my life to have a go myself. After extensive YouTube research on laser technique i thought using the equations of motion to move between random points would work well:
n = 20; %number of steps
pos = [0,0]; % initial position
vel = 4; % laser velocity
acc = 400; % laser acelertation
dt = 0.01; % timestep interval
figure
set(gcf,'Position',get(0,'Screensize'));
for i=1:n
point = rand(1,2);
dist = 1;
while dist > 0.05 % loop until we reach the point
plot(pos(1),pos(2),'o','color','r','MarkerFaceColor','r')
axis equal
xlim([0,1])
ylim([0,1])
drawnow
% create random point to move towards
dist = pdist([point;pos],'euclidean');
% calculate the direction & mag vector to the point
dir = (point-pos)/norm((point-pos));
mag = norm(point-pos);
% update position
displ = vel*dt - 0.5*acc*mag*dt^2;
pos = pos + dir*displ;
end
end
Play around with the parameters till you find something your cat likes :0)