如何使旋转球在while循环的循环模式?

5视图(30天)
你好!我需要12个球旋转的蓝色球他们不需要红色标记,只是在净水器的频率,我试着做的for循环,使12球在while循环,但它只是情节很多球,也试图画出球标记“o”但是´t可以画出12球模式
关闭所有
清晰的
clc
clf;
%输入值
Nb = 12;%多的球
净水器= 0.222;%频率(赫兹)
% %动画数据
D2 = 130;
R2 = D2/2;
d1 = 90;
d = 0.7 * d1;
ang = linspace(0, 2 *π,50);
xpi = R2 * cos (ang);
ypi = R2 * sin (ang);
补丁(xp) ypi [0.90, 0.90, 0.90]);%画静态圆
持有
%红色标记数据(圆内旋轮线)
sz_mai = (d + d1) / 8;
Ra = 65;
ra = 10;
ka =拉/ Ra;
ka_ = ka-1;
rh = 55;
ramdi = (d + d1) / 4;
pmdi =情节(南、南“o”,“颜色”,“k”,“线宽”, 1“MarkerSize”sz_mai,“MarkerFaceColor”,“r”,“线宽”1);
%绘制球
%移动球
pb =情节(南、南“o”,“颜色”,“k”,“线宽”, 1“MarkerSize”,35岁,“MarkerFaceColor”,“c”,“线宽”1);
%循环模式
一个= linspace(0, 2π,20);
[出数,日元]= pol2cart (10,);
fill_b = 0 (Nb);
h = 0 (Nb);
角= 1:Nb
h(角)=线(×8 + rh * cosd(角/ Nb * 360),日元+ rh *信德(角/ Nb * 360),“颜色”,“k”);
fill_b(角)=填补(×8 + rh * cosd(角/ Nb * 360),日元+ rh *信德(角/ Nb * 360) [0.65, 0.65, 0.65]);
结束
%画红色标记
ph =情节(南、南“- *”,“线宽”5,“颜色”,“r”,“MarkerFaceColor”,“r”,“MarkerSize”,0.01);
% %循环动画
抽搐
(toc < 5)
持有
%的红色标记
t = toc;
ph.XData = [rh * cos(2 *π*净水器* t) ra * ka_ * cos(2 *π*净水器* t) + ra * cos (ka_ * 2 *π* BSF * t)];
ph.YData = [rh * sin(2 *π*净水器* t) ra * ka_ *罪(2 *π*净水器* t) - ra *罪生物沙子饮用水过滤系统(ka_ * 2 *π* * t)];
%的球
pb。XData = (rh * cos(2 *π*净水器* t));
pb。YData = (rh * sin(2 *π*净水器* t));
% 12灰色球
%如何引入频率净水器这灰色的圆圈图案
%旋转? ? ? ?
drawnow
结束

接受的答案

Les贝克汉姆
Les贝克汉姆 2021年6月10日
我认为你是非常接近你想要的。
我要做这个动画是注释掉的 抓住 的行结束,增加测试while循环(我用50代替5)。
你也可能想添加一个 轴平等'命令在while循环,这样你的圆看起来就像一个圆。
4评论

登录置评。

更多的答案(0)

类别

找到更多的在动画帮助中心文件交换

s manbetx 845


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!