Extract the coordinates of network nodes from a graphic window when n moving nodes are defined after nf fixed nodes.
[nodex,nodey]=MobilityXYExtraction(f,n,nf)
graphic window ID.
quantity of moving nodes
quantity of fixed nodes.
nodes x-coordinates
nodes y-coordinates
MobilityXYExtraction extracts the coordinates of network nodes (nodex,nodey) from a graphic window when n moving nodes are defined after nf fixed nodes.
scf(1);//creation of a graphic window clf(1); f=gcf(); f.figure_name='MANET' ; f.pixmap='on'; //set the pixmap mode //creation of the network boundaries plot2d(0,0,-1,"011"," ",style=5,rect=[0,0,1000,1000]); xgrid; //simulation scenario r=10;//display radius of moving nodes rf=15;//display radius of fixed nodes rs=20;//display radius of the moving nodes belonging to the connection under studies n=50;//quantity of moving nodes nf=5;//quantity of fixed nodes [ndep,nfin]=MobilityRandom_i_j_nf(n,nf);//connection extremal nodes L=1000;//network square area side ts=20;//maximum time break vm=20;//maximum speed v=vm*rand(1,n);//velocity Tlim=1000;//simulation duration nodex=L*rand(1,n+nf);//current x-coordinate of all nodes nodey=L*rand(1,n+nf);//current y-coordinate of all nodes destx=L*rand(1,n+nf);//destination x-coordinate of all nodes(not used for fixed nodes) desty=L*rand(1,n+nf);//destination y-coordinate of all nodes(not used for fixed nodes) d=sqrt((nodex-destx).^2+(nodey-desty).^2);//initialization of the distance vector //display the initial state MobilityGraph2Plot(nodex(nf+1:$),nodey(nf+1:$),r,5);//fixed nodes in red (5) MobilityGraph2Plot(nodex(1:nf),nodey(1:nf),rf,2);//fixed nodes in blue (3) show_pixmap();//display f=gcf();//get the figure properties i=ndep-nf;//emission node in purple (6) f.children.children($-1).children(n-i+1).data(3:4)=[rs rs];//node i f.children.children($-1).children(n-i+1).foreground=6;//node i f.children.children($-1).children(n-i+1).background=6;//node i show_pixmap();//display [nodx1,nody1]=MobilityXYExtraction(f,n,nf);//application of MobilityXYExtraction Tnodes=zeros(1,n);//initialization of breaking time parameters Tmax=100;//maximal waiting time dmax=180;//Locality radius for the links attribution he=[];//link head vector ta=[];//link tail vector col=[3 5 2]; cb=1; //displacement of nodes for i=1:n fr=f.children.children($-1).children(n-i+1);//node i [fr.data(1) fr.data(2) destx(i) desty(i) d(i) v(i) Tnodes(i)]=MobilityNodeRWP(fr.data(1),fr.data(2),destx(i),desty(i),d(i),v(i),Tnodes(i),Tmax,vm,L); //displacement of the node i end [nodx2,nody2]=MobilityXYExtraction(f,n,nf);//application of MobilityXYExtraction [nodx1 ;nodx2] [nody1 ;nody2] | ![]() | ![]() |