kendama op• 数据种类:无 → table(仅由参数决定的算子 —— 不接受图像或数据输入)
• 调用: import fullseye as fs; fs.ledger.kendama_params(preset: 'str' = 'jka_16_2', *, trick: 'str' = 'ozara', ball_radius: 'float' = None, mass: 'float' = 0.075, string: 'float' = 0.39, cup_radius_big: 'float' = None, cup_depth: 'float' = None, ken_length: 'float' = None, width: 'float' = None, rho: 'float' = 1.2, cd=0.4, cup_offset=None, tie_offset=None, cup_axis=None, g: 'float' = 9.81) -> 'dict'(要直接调用实现,import kendama; kendama.kendama_params(preset: 'str' = 'jka_16_2', *, trick: 'str' = 'ozara', ball_radius: 'float' = None, mass: 'float' = 0.075, string: 'float' = 0.39, cup_radius_big: 'float' = None, cup_depth: 'float' = None, ken_length: 'float' = None, width: 'float' = None, rho: 'float' = 1.2, cd=0.4, cup_offset=None, tie_offset=None, cup_axis=None, g: 'float' = 9.81) -> 'dict';从台账取用则 opsdrive.get("kendama_params"))
剑玉参数表。默认 = preset="jka_16_2"(球 60 mm、横宽 70 mm、全长 180 mm 为日本剑玉协会(JKA)的公开值;剑高 160 mm 与皿 42 / 38 / 35 mm 来自用户提供的 JKA 16-2 型说明(一手资料未核实))。"recommended_large_cup" = 大皿 49 mm、孔 24 mm。
键: ball_radius 0.030、string 0.39(线 = 推荐 38〜40 cm)、pendulum_length = 线 + 玉的半径(结 → 玉的中心, 玉的穿线孔设在大孔的对侧)、cup_radius_big / cup_radius_base / cup_radius_small(边缘半径)、cup_depth (大皿的深度。默认 = 搭在边缘上的玉下端的下沉量 r_b − √(r_b² − r_c²) + 1.5 mm = 玉不触底的深度,此为假定)、ken_length(剑的高度 = 剑尖 → 中皿边缘,160 mm)、width(大皿边缘 〜 小皿边缘,70 mm)、hole_radius / hole_depth(玉的大孔。深度 = 剑 + 玉 − 全长 = 40 mm)、total_length(组装后的全长 = 剑 + 玉 − 孔深)、cross_radius / ken_radius / spike_length / cross_from_tip(假定)、mass(玉,假定 75 g)、ken_mass(假定 70 g)。招式 trick(KENDAMA_TRICKS: "ozara" 大皿 / "kozara" 小皿 / "chuzara" 中皿 / 蜡烛 = "rousoku")决定姿势:
R_ken(剑的局部坐标 → 世界: 局部为剑尖 +x、大皿 +z、原点 = 皿胴中心)、grip(握持处,局部)、接球的皿 catch_cup("big" / "small" / "base")。由此求出相对于手部(= 握持处)的 cup_offset(接球皿边缘的中心)、cup_axis (接球皿的轴,世界)、tie_offset(皿胴的穿线孔: 局部 (0, −cross_radius, 0))、top_offset(剑玉的最高处)、cup_radius(接球皿的边缘半径)。剑与皿胴为一个刚体(姿势按招式固定,手部平移)。传入 cup_offset / tie_offset / cup_axis 则以该值覆盖(传 0 则为点状的剑 = 支点 = 皿 = 手部: 定理的门)。catch_window = 0.003 m: kendama_simulate 将玉的中心下降到「搭在边缘的高度 h_c 的 3 mm 以内」的瞬间视为接球(玉触及边缘 = 着地。仅进入边缘上方 1.5 r_b 的窗口不算接住: 若顶点在窗口内,会在顶点处「接住」 —— 经测量后排除)。rho/cd = 空气密度、阻力系数(rho = 0 为真空: 定理的门以此运行)。
fail-closed: 未知的 preset、尺寸 ≤ 0、皿的边缘 ≥ 玉(无法在边缘接住 = 不是剑玉)、横宽 < 大皿的直径、线 ≤ 玉的半径、孔深在 (0, 玉的直径) 之外、剑尖粗细进不了孔,均为 ValueError。返回值中包含派生量 "cup_rest_height" = √(r_b² − r_c²)(搭在接球皿边缘上的玉中心的高度)、"bp"(ballistics.ball_params,实心球)。
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• 算法的正典(作者、年份)与用途见上面的族使用指南。
• gallery_drive_kendama_racket — py -3.11 examples/gallery_drive_kendama_racket.py
• gallery_drive_world_objects — py -3.11 examples/gallery_drive_world_objects.py
• poc_kendama — py -3.11 examples/poc_kendama.py
table 作为输入)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
kendama)elliptic_k_agm · pendulum_period_exact · pendulum_launch_speed · pendulum_rod_simulate · tether_tension_fixed · tether_slack_angle · swing_up_plan · swing_up_apex
*Provenance: kendama.py — DRIVE 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.