This commit is contained in:
Horldsence
2026-09-13 10:27:09 +08:00
parent b810ec7777
commit 82311a47cc
52 changed files with 2563 additions and 1278 deletions
+38
View File
@@ -0,0 +1,38 @@
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