How to keep equal distancing between markers while moving??

1 Ansicht (letzte 30 Tage)
MSolano
MSolano am 10 Jun. 2021
Kommentiert: MSolano am 11 Jun. 2021
Hi, how can I keep equal distancing (angles) between markers while moving so that they move at he same speed (f=0.5)?
Thank you!
clear
clc
figure
n= 10; % Number of points
f = 0.5 ; % frequency
r = 2 ; % Ratio
theta= linspace(0,360,n+1);
pp = plot(NaN,NaN,'o') ;
axis(1.1*[-r r -r r]) ;
axis square
tic
while(toc < 10)
t = toc ;
pp.XData = [r*cosd(theta*f*t)] ;
pp.YData = [r*sind(theta*f*t)] ;
drawnow
end

Akzeptierte Antwort

SALAH ALRABEEI
SALAH ALRABEEI am 11 Jun. 2021
Since you are in a periodic space, scaling the angle will not preserve the distance, you should use addition ( translate the angle)
pp.XData = [r*cosd(theta + f*t)] ;
pp.YData = [r*sind(theta + f*t)] ;
It will be too slow, but you can make it faster by scaling the the frequency 1*45 ( pi/4) or 90 ( pi/2). As you want

Weitere Antworten (0)

Kategorien

Mehr zu Graphics Performance finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by