kendama op• 資料種類:table → table
• 呼叫: import fullseye as fs; fs.ledger.kendama_catch_check(kp: 'dict', p_ball, v_ball, cup_center, cup_axis=(0.0, 0.0, 1.0), v_cup=(0.0, 0.0, 0.0), v_rel_max: 'float' = 1.0, window: 'float' = None) -> 'dict'(要直接呼叫實作,import kendama; kendama.kendama_catch_check(kp: 'dict', p_ball, v_ball, cup_center, cup_axis=(0.0, 0.0, 1.0), v_cup=(0.0, 0.0, 0.0), v_rel_max: 'float' = 1.0, window: 'float' = None) -> 'dict';從台帳取用則 opsdrive.get("kendama_catch_check"))
判定球(半徑 r_b)能否落在皿上(邊緣半徑 r_c < r_b,邊緣中心 cup_center,軸 cup_axis,速度 v_cup)的幾何判定。
搭在邊緣上的玉的中心位於邊緣平面上方 h_c = √(r_b² − r_c²),靜態穩定條件為橫向偏移 ≤ r_c。以有效的皿(半徑 r_c + r_b,中心沿軸向抬高 h_c)呼叫 ballistics.cup_catch_check(以皿 > 玉為前提)→ 橫向偏移 ≤ r_c、距邊緣平面的高度 h_c ≤ h ≤ h_c + 1.5 r_b、相對於皿的速度 ≤ v_rel_max。此外 從下方上升的玉(相對速度的軸向分量 > 0)不接 (皿只能從上方接。在支點 = 皿中心的簡化下,上升的玉會穿過皿的位置,因此需要此條件)。傳入 window 時,將高度窗口縮小到「最初觸及邊緣的高度」+ window 以下(著地判定: kendama_simulate 使用 kp["catch_window"])。橫向偏移 δ 的玉在 √(r_b² − (r_c − δ)²)(δ = 0 時為 h_c)處觸及邊緣 —— 偏離中心的玉先觸及邊緣的一側, 然後滾入皿中(橫向偏移 ≤ r_c 則視為接住)。邊緣半徑為 kp["cup_radius"] (接球的皿,無則為大皿)。回傳值 {"caught", "lateral", "height" (縁の面から), "speed" (相対), "descending"}。
空輸入(kp 為空的 dict)會引發 ValueError。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• gallery_drive_kendama_racket — py -3.11 examples/gallery_drive_kendama_racket.py
table 作為輸入)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
kendama)kendama_params · elliptic_k_agm · pendulum_period_exact · pendulum_launch_speed · pendulum_rod_simulate · tether_tension_fixed · tether_slack_angle · swing_up_plan
*Provenance: kendama.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.