1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| axis([0 101 0 101]);
hold on;
NumOfNodes = 100;
Range = 2;
breadth = 0;
display_node_numbers = 1;
%%%%%%%%%%%%creating road network%%%%%%%%%
for length = 0:100
if(rem(length,10)~=0)
for breadth = 0:100
if(rem(breadth,10)~=0)
h1 = plot(length,breadth,':g');
end
end
end
breadth = breadth+1;
end
%%%%%%%%%%%%%%%%END1%%%%%%%%%%%%%%%%%%%%%%%%%%
Node = zeros(NumOfNodes,6); % 1:X, 2:Y, 3:updatedX, 4:updatedY, 5:direction
%%%%%%%%%%%%%%%%%%%%%get random nodes%%%%%%%%%%%%%%%%%
for node_index = 1:NumOfNodes
TempX = randint(1,1,[0,100]);
if (rem(TempX,10)==0)
%sprintf('TempX = %d\n',TempX);
Node(node_index,1) = TempX; %X co-ordinate in 1st column
Node(node_index,2) = randint(1,1,[0,100]); %Y co-ordinate in 2nd column
%sprintf('%d IF: X=%d Y=%d',node_index, Node(node_index,1),Node(node_index,2))
else
Node(node_index,2) = 10*(randint(1,1,[0,10])); %Y co-ordinate in 2nd column
Node(node_index,1) = randint(1,1,[0,100]); %X co-ordinate
%sprintf('%d ELSE: X= %d Y= %d',node_index, Node(node_index,1),Node(node_index,2))
end
end
%sprintf('Number of Nodes %d',NumOfNodes)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%labels = cell2str(num2str([1:NumOfNodes]'));
%h1 = ones(NumOfNodes,1);
h2 = ones(NumOfNodes,1);
h3 = ones(NumOfNodes,1);
for n = 0:100
for node_index = 1:NumOfNodes
if(rem(Node(node_index,1),10)~=0)
%h2(node_index) = plot(Node(node_index,1)+n, Node(node_index,2),'.r');
h2(node_index) = plot(Node(node_index,1)+n*(2*(rem(node_index,2))-1), Node(node_index,2),'.k');
Node(node_index,3) = Node(node_index,1)+n*(2*(rem(node_index,2))-1);
Node(node_index,4) = Node(node_index,2);
Node(node_index,5) = rem(node_index,2)+2;
else
h2(node_index) = plot(Node(node_index,1),Node(node_index,2)+n*(2*(rem(node_index,2))-1),'.k');
Node(node_index,3) = Node(node_index,1);
Node(node_index,4) = Node(node_index,2)+n*(2*(rem(node_index,2))-1);
Node(node_index,5) = rem(node_index,2);
end
end
for p = 1:NumOfNodes
for q = 1:NumOfNodes
if(p~=q)
if((abs(Node(q,3)-Node(p,3))<=Range) && (abs(Node(q,4)-Node(p,4))<=Range))
if(Node(q,5) ~= Node(p,5))
plot(Node(p,3),Node(p,4),'xb');
if(((rem(Node(p,3),10))<=Range-1) && ((rem(Node(p,4),10))<=Range-1))
plot(Node(q,3),Node(q,4),'or')
end
end
end
end
end
end
pause(0.1);
set(h2(),'Visible','off');
end |
Partager