猫が画面上でレーザーポインターを追いかけて楽しめるように、レーザーポインターをエミュレートするコードをmatlabを使用して記述しようとしています。これは私がこれまでに行ったことです:
figure('menubar','none','color','k')
h = plot(0,'r.','MarkerSize',20);
xlim([-1 1]); ylim([-1 1])
axis off
phi1=(1+sqrt(5))/2;
phi2=sqrt(3);
step= 0.0001; % change according to machine speed
for t=0:step:100
set(h,'xdata',sin(t+phi1*t),'ydata',cos(phi2*t))
drawnow
end
このコードの「問題」は次のとおりです。
ポインターはほぼ一定の速度で移動し、ほぼ停止するまで減速せず、予期せず続行します。
無理数を使って作ってみましたが、全体的に右から左に動きが連続しています。より鋭い軌道変更が役立つと思います。
これは従来のプログラミングの質問ではないことはわかっていますが、それでもプログラミングの問題を解決したいと考えています。もちろん、私が追加したコードを使用しない新しい方法で私の質問に答えることができます。