fix: alpha numpy 数组格式化问题导致逗号丢失

trajectory.txt 中的 alpha 以 numpy 数组形式加载,
str() 后变成 "[0. 0. 0. 0. 0. 0.]"(无逗号),
draw.py parse 不成功回退为默认 0.2。
新增 _fmt_alpha() 统一格式化为逗号分隔字符串。
This commit is contained in:
2026-06-12 07:28:05 +08:00
parent 54aa20d7c5
commit 466a301d34
+8 -1
View File
@@ -25,6 +25,13 @@ sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import compute
def _fmt_alpha(v):
"""将 alpha 值格式化为逗号分隔字符串,兼容 numpy 数组/list/标量。"""
if isinstance(v, (list, tuple, np.ndarray)):
return ",".join(str(float(x)) for x in v)
return str(float(v))
def read_optional_index(data, key, default_value):
"""Read an optional integer index from structured txt metadata."""
if key not in data:
@@ -246,7 +253,7 @@ def run_case(config_path, runtime_base, input_dir="input", output_dir="output",
"gravity_strength": str(data.get("gravity_strength", 1.0)),
"driving_force": str(data.get("driving_force", 0)),
"use_marker": str(config.get("use_marker", 0)),
"alpha": str(data.get("alpha", 0.2))}
"alpha": _fmt_alpha(data.get("alpha", 0.2))}
n_frames = len(indices)
compute.save_display_txt(