поэтому у меня есть функция matlab ниже, которая возвращает матрицу координат [x y time_elapsed] от «start» до «target», а «target» достигается, когда она находится на расстоянии acc_length до нее. time_elapsed - помочь мне получить профиль скорости.Как я могу читать и хранить координаты мыши, в то время как остальная часть функции не делает много, в значительной степени срыв?
В настоящее время это работает отлично с выборкой примерно каждые 0,01 секунды, и при запуске движения с начала начинается 2-секундная пауза.
Вопрос: как я могу сделать то же самое - чтобы пользователь мог подождать 2 секунды, когда будет достигнуто положение «старт», но вместо приостановки программы, , как я могу читать координаты мыши (в течение периода 2 с), а ничего полезного не происходит для 2-х?
P.S. Я хочу, чтобы эти координаты вычислили точность пользователя для начала.
function arr = pmove(start, target, acc_length)
uimenufcn(gcf,'WindowCommandWindow');
arr = [];
checkStart = 1;
checkEnd = 0;
while checkStart
pt = get(0,'PointerLocation');
pt = [pt(1) - 1920/2, pt(2) - 1080/2];
d = pdist([start; pt]);
if ~checkEnd & d <= acc_length;
disp('Start moving to target after 2 seconds.')
pause(2);
pt = get(0, 'PointerLocation');
pt = [pt(1) - 1920/2, pt(2)-1080/2, 0];
arr = cat(1, arr, pt);
checkEnd = 1;
tic;
continue;
end
if checkEnd
d = pdist([target; pt]);
t_elapsed = toc;
pt = [pt , t_elapsed];
arr = cat(1, arr, pt);
if d <= acc_length
checkStart = 0;
end
end
if ~isempty(arr)
figure(gcf)
hold on;
plot(arr(:,1), arr(:,2));
%drawnow;
axis equal;
end
pause(0.01);
end
конца
, пожалуйста, добавьте описание вашего ответа – Mostafiz