ball op• Data kinds: signal × points × table → table
• Call: import fullseye as fs; fs.ledger.thrust_fit(t, p, bp: 'dict', *, iters: 'int' = 20, dt: 'float' = 0.001) -> 'dict' (to call the implementation directly, import ballistics; ballistics.thrust_fit(t, p, bp: 'dict', *, iters: 'int' = 20, dt: 'float' = 0.001) -> 'dict'; from the registry, opsdrive.get("thrust_fit"))
• GPU: none (CPU reference implementation only)
Fits the "gravity + drag + constant specific thrust" model to a trajectory (t_i, p_i) with 10 parameters (p₀, v₀, C_d, a_T) by Levenberg–Marquardt (finite-difference Jacobian, C_d ≥ 0 kept by projection). p is either (N, 3) world points or the (N, 2) planar (x, z) track lifted from a monocular side view (then the y component has neither observation nor unknown: 7 parameters, n = 2 × samples). bp is a ball_params table (mass, frontal area, air density, g; radius is used only to give the frontal area — for a car pass the r whose A = πr² is the frontal area). Returns {"p0", "v0", "cd", "thrust" (3,), "thrust_norm", "rms", "rss", "rss_floor", "n", "k", "dims", "cond", "iters", "t0"} (n = number of residuals, k = number of parameters moved; the inputs of aic_from_rss). From a thrusted ground-truth trajectory a_T returns to 1e-5 m/s²; from a trajectory made with zero thrust thrust_norm is 1e-5 or less (gate). rss_floor is the upper bound of the sum of squares that the error ≤ a dt²/8 of linearly interpolating the RK4 grid onto the sample times can leave in the residuals. dt must not exceed the sample spacing (beyond it the model is piecewise linear between samples), iters must be ≥ 1, and in vacuum (rho = 0) C_d cannot be identified — each is a ValueError.
Empty input (t with 0 elements) raises ValueError.
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• poc_video_physics_consistency — py -3.11 examples/poc_video_physics_consistency.py
table as input)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. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.