📄 topology_generator.m
字号:
function topology_generator(... output_fn, n_nodes, density, ... n_obstacles, ... l_obstacles, to_vis)%generate a topology file%n_obstacles: number of obstacles%l_obstacles: the length of each obstacle wallDEFAULT_NODE_NO=3200;width = sqrt(n_nodes/density);rand('state',100*(sum(clock)+cputime));n_random_pairs = min(ceil(n_nodes*n_nodes/2),DEFAULT_NODE_NO*10);good_nodes = 1:n_nodes;random_pairs_idx = ceil(rand(n_random_pairs, 2)*length(good_nodes));random_pairs = reshape(good_nodes(random_pairs_idx(:)), n_random_pairs, ... 2);obstacles={};startx = rand(n_obstacles,1).*(width-l_obstacles);starty = rand(n_obstacles,1)*width;h_or_v = rand(n_obstacles,1); %horizontal or verticalfor i=1:n_obstacles if h_or_v(i)>=0.5 obstacles{i}=[startx(i),starty(i); startx(i)+l_obstacles, ... starty(i)]; else obstacles{i}=[starty(i),startx(i); starty(i), startx(i)+ ... l_obstacles]; endend[D coord n_blocked] = simulate_topology(n_nodes, width, width,1, obstacles);if to_vis visualize(D, coord, [], [], 1,1, obstacles );endif output_fn x = version; if x(1)=='6' save(output_fn, 'D','coord','density','obstacles','width', ... 'random_pairs','n_nodes','n_random_pairs','n_blocked'); else save(output_fn, 'D','coord','density','obstacles','width', ... 'random_pairs','n_nodes','n_random_pairs','n_blocked', '-V6'); endend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -