flight_simulate — DRIVE ball op

• 資料種類:table × table → table

• 呼叫: import fullseye as fs; fs.ledger.flight_simulate(p0, v0, omega, bp: 'dict', ip: 'dict', t_end: 'float', dt: 'float' = 0.001, table_z: 'float' = 0.0, table_xy=None, max_bounces: 'int' = 100, v_rest: 'float' = 0.001) -> 'dict'(要直接呼叫實作,import ballistics; ballistics.flight_simulate(p0, v0, omega, bp: 'dict', ip: 'dict', t_end: 'float', dt: 'float' = 0.001, table_z: 'float' = 0.0, table_xy=None, max_bounces: 'int' = 100, v_rest: 'float' = 0.001) -> 'dict';從台帳取用則 opsdrive.get("flight_simulate"))

用法

將飛行與在球桌上(平面 z = table_z,僅在 table_xy = (xmin, xmax, ymin, ymax) 範圍內)的彈跳連接起來,接觸時刻以二分法在區間內求出。回傳值 {"t", "p", "v", "omega" (N, 3), "contacts": [{"t", "p", "v_in", "v_out", "omega_in", "omega_out", "regime"}], "rest_t"}。球半徑為 r,因此球心到達 table_z + r 處即為接觸。彈跳會無限持續(Zeno),所以當接觸時 |v_n| < v_rest 時把球放在桌面上(此後 z 固定,水平方向無摩擦繼續運動;rest_t = 該時刻,若無則為 None)。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• poc_ball_bounce — py -3.11 examples/poc_ball_bounce.py

• poc_table_tennis_bounce — py -3.11 examples/poc_table_tennis_bounce.py

• poc_table_tennis_rally_loop — py -3.11 examples/poc_table_tennis_rally_loop.py

• poc_table_tennis_spin — py -3.11 examples/poc_table_tennis_spin.py

型別可銜接的下一個運算子(可接受 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_state_at · magnus_lift_coefficient · drag_coefficient_sphere · bounce


*Provenance: ballistics.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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