fullseye

ballistic_vs_thrust — DRIVE ball op

使い方

同じ軌跡に「重力 + 抗力」(:func:drag_fit)と「重力 + 抗力 + 一定の比推力」(:func:thrust_fit)を当て、 AIC(:func:aic_from_rss)の差 ΔAIC = AIC_弾道 − AIC_推力 を返す。 返り値 {"ballistic", "thrust"}(2 つの当てはめ)に "aic_ballistic", "aic_thrust", "delta_aic", "thrust_norm" を添える。 判定は返さない(:mod:imgforensics と同じ流儀): 読み方は 節約則で、推力の模型はパラメータが 3 つ多いので雑音だけでも RSS を僅かに下げる —— 罰則 2Δk を超えて勝たない限り、単純な方(弾道)を採る。雑音だけの ΔAIC は −2Δk を下限に χ²(Δk) 近似の 幅で散り(中央値は −2Δk + 1 ほど。C_d = 0 の壁に当たる当てはめが混じるので正確には混合分布)、推力側は弾道側の解から出発するので ΔAIC ≥ −2Δk が保たれる。「決定的」の慣用は 10(偽陽性 1 % を大きく下回る)だが、閾値は同梱せず呼び手が決める。 推力側の RSS が離散化の床 rss_floor の 10 倍を下回る(雑音の無い、または格子より細かく解けた軌跡)ときは ValueError —— AIC が比べるのは雑音で、丸め屑ではない(雑音ゼロの真値に既定の dt で ΔAIC = +144 が出た、2026-10-23)。

空の入力(t が 0 要素)は ValueError。

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

同カテゴリ(ball)

ball_params · impact_params · flight_vacuum · flight_ode · flight_simulate · flight_state_at · magnus_lift_coefficient · drag_coefficient_sphere


Provenance: ballistics.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.