2011-10-31 11 views
4

Matlabでは、次のような視覚効果を作成する簡単な方法がありますか?Matlab:リング状のグラフ

Visualisation

重要(多かれ少なかれ)はブラックスポットの中心を指し、2リング状の形状と取り付けベクターです。同様の結果につながる可能性のあるベクトル画像を作成する他の視覚化ツールへのヒントも非常に高く評価されています。そのタスクを解決するためにすべての私の努力は、それ以上...

MATLABは自動的に別の「スポットのシナリオ」のための可視化のこの種を生成するための良いプラットフォームだろう...

はにありがとう私を持っていませんでした M.

+1

を把握するために簡単なはずです。それが表すデータの種類をもう少し教えてください。 – Jonas

+0

こんにちは@ジョナス、確かに!この図は、いわゆる_スナップショット_を表しています。このコンセプトはB. A. CartwrightおよびT. S. Collett(例えば、「ミツバチのためのランドマークマップ」の論文[source](http://www.springerlink.com/content/j4u57130843r6167/)で使用されている)によって作成された。外側の灰色のリングは、ランドマークの現在のビュー(つまりベアリング)を表し、内側のリングはターゲットビューです。全体的な「リング構成」は、ターゲット位置へのベクトルを計算しようとするハチを表します。 – Eric

答えて

2

図の一部です。残りは、私はかなりの姿を理解していない

%# 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) 

enter image description here

+0

ありがとう、あなたの努力のために、@ジョナス! – Eric