在 Matlab 中是否有一种简单的方法来创建如下所示的可视化?

重要的是 2 个环状形状和附加的向量,(或多或少)指向黑点的中心。对其他创建矢量图像的可视化工具的提示,这可能会导致类似的结果也非常感谢!我为解决该任务所做的所有努力并没有让我更进一步......

Matlab 将是一个很好的平台,可以为不同的“现场场景”自动生成这种可视化......

先感谢您,
M。

最佳答案

这是图的一部分。其余的应该很容易弄清楚

%# define the ring
phi = linspace(0,2*pi,360);
innerRim = [cos(phi)',sin(phi)'];
outerRim = [cos(phi)',sin(phi)']*1.3;

xRing = [outerRim(:,1),innerRim(:,1),innerRim([2:end,1],1),outerRim([2:end,1],1)]';
yRing = [outerRim(:,2),innerRim(:,2),innerRim([2:end,1],2),outerRim([2:end,2],2)]';

%# create some data. 0 for black 0.5 for gray.
%# RingData has a value for each degree
ringData = ones(1,360) * 0.5;
ringData(25:30) = 0;
ringData(77:80) = 0;
ringData(240:255) = 0;

%# plot the ring
%# for an outer ring, add 1 to xRing, yRing
figure
patch(xRing,yRing,ringData,'EdgeColor','none');
set(gca,'cLim',[0 1]);
axis square
axis off
set(gcf,'color','w');

%# plot three arrows at the origin
hold on, qh=quiver(zeros(3,1),zeros(3,1),[0.4;0.3;-0.5],[0.7;-0.1;0.3])
set(qh,'LineWidth',3)

关于Matlab:环状图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7957053/

10-12 19:54