39 lines
1.7 KiB
Matlab
39 lines
1.7 KiB
Matlab
function run_all_figures()
|
|
%RUN_ALL_FIGURES 生成 docs/figures 下的全部论文插图。
|
|
% 数据由 scripts/build_figure_data.py 写入 docs/figures/.data/*.mat。
|
|
% 本机图形子系统在同一批处理会话里连续渲染多张图会崩溃,故每张图单独起会话;
|
|
% 这里只作为 MATLAB 内的手动入口,逐张调用并记日志。
|
|
|
|
here = fileparts(mfilename('fullpath'));
|
|
addpath(here);
|
|
log = fullfile(here, 'run_all_figures.log');
|
|
items = { 'flow-overall-architecture', @fig_flow_overall
|
|
'steps-state-machine', @fig_steps_state_machine
|
|
'timing-attachment-example-105-111-194-199', @fig_timing_attachment
|
|
'timing-measured-q3-10-sources', @fig_timing_measured
|
|
'geo-q1-convex-intersection-zoom', @fig_geo_q1_meetup
|
|
'geo-q1-diameter-circle-counterexample', @fig_geo_q1_counterexample
|
|
'geo-q2-guaranteed-reception-disk', @fig_geo_q2_safe_disk
|
|
'geo-q3-seven-point-coverage', @fig_geo_q3_coverage
|
|
'geo-q4-minimum-cover-31-points', @fig_geo_q4_mincover
|
|
'replay-webui-q3-omnidirectional', @() fig_replay('replay_q3')
|
|
'replay-webui-q4-directional', @() fig_replay('replay_q4') };
|
|
fid = fopen(log, 'w');
|
|
failed = 0;
|
|
for i = 1:2:numel(items)
|
|
name = items{i};
|
|
fn = items{i + 1};
|
|
try
|
|
fn();
|
|
fprintf(fid, 'OK %s\n', name);
|
|
catch err
|
|
failed = failed + 1;
|
|
fprintf(fid, 'FAIL %s: %s\n', name, err.message);
|
|
end
|
|
end
|
|
fclose(fid);
|
|
if failed > 0
|
|
fprintf('有 %d 张图生成失败,详见 %s\n', failed, log);
|
|
end
|
|
end
|