⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 visualize.m

📁 best routing protocol
💻 M
字号:
function visualize( neighbor_dist, node_coord, beacons, failure_nodes, ...
		    large,show_edges, obstacles)
%visualize a simulated topology
% large: if to use large circle and plot node number, a big dot otherwise
%examples:
%  visualize(D, coord, [], [], 1, 1, obs)

n = length(node_coord);
if nargin<3
  beacons = [];
end
if nargin<4
  failure_nodes = [];
end

if 0
  neighbor_dist(failure_nodes,:) = zeros(length(failure_nodes), n);
  neighbor_dist(:, failure_nodes) = zeros(n, length(failure_nodes));
end
tmp = failure_nodes;
failure_nodes = zeros(n,1);
failure_nodes(tmp) = ones(length(tmp),1);
if nargin<5
  large = n<=50;
end
if nargin<6
  show_edges=0;
end
if nargin<7
  obstacles={};
end
fprintf('visualizing %d nodes\n', n);
hold on
%plot obstacles
for i=1:length(obstacles)
  ob = obstacles{i};
  plot([ob(1,1) ob(2,1)], [ob(1,2), ob(2,2)],'r');
  
end

for i=1:n
  if node_coord(i,1)>0
    if ismember(i, beacons)
      plot(node_coord(i,1),node_coord(i,2),'rv','MarkerSize',15);
    elseif failure_nodes(i)
      if large
	plot(node_coord(i,1),node_coord(i,2),'ko','MarkerSize',15);
      else
	plot(node_coord(i,1),node_coord(i,2),'ko','MarkerSize',3);
      end
      
    else
      if large
	plot(node_coord(i,1),node_coord(i,2),'go','MarkerSize',15);
      else
	plot(node_coord(i,1),node_coord(i,2),'go','MarkerSize',3);
      end
    end

%    if large | show_edges
    if large
      idstr = sprintf('%d',i);
      text(node_coord(i,1),node_coord(i,2),idstr);
    end
    if show_edges | large %plot edge
      for j=1:i-1
	if neighbor_dist(i,j)>0 & neighbor_dist(i,j)<Inf  
	  if failure_nodes(i) | failure_nodes(j)
	    color = 'b:';
	  else
	    color='b';
	  end
	  plot([node_coord(i,1) node_coord(j,1)], [node_coord(i,2), node_coord(j,2)],color);
	end
      end
    end
  
  end
  
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -