kendama_params — DRIVE kendama op

• Data kinds: कोई नहीं → table (केवल arguments से तय होने वाला op — यह कोई image या data input नहीं लेता)

• Call: 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' (implementation को सीधे call करना हो तो 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', registry से लेना हो तो opsdrive.get("kendama_params"))

उपयोग

kendama की table। default = preset="jka_16_2" (गेंद 60 mm, चौड़ाई 70 mm, कुल लंबाई 180 mm Japan Kendama Association के प्रकाशित मान हैं; ken की ऊँचाई 160 mm और cups 42 / 38 / 35 mm उपयोगकर्ता द्वारा दिए गए JKA 16-2 model के विवरण से हैं (primary source अपुष्ट))। "recommended_large_cup" = बड़ा 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, ठोस गोला) शामिल हैं।

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• 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

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

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

इसी category के (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 operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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