How to keep equal distancing between markers while moving??

1 回表示 (過去 30 日間)
MSolano
MSolano 2021 年 6 月 10 日
コメント済み: MSolano 2021 年 6 月 11 日
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

採用された回答

SALAH ALRABEEI
SALAH ALRABEEI 2021 年 6 月 11 日
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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGraphics Performance についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by