kendama op• Datenarten: keine → table (ein Operator, der allein durch seine Argumente bestimmt ist — er nimmt kein Bild und keine Daten entgegen)
• Aufruf: 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' (die Implementierung direkt: 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'; aus dem Register: opsdrive.get("kendama_params"))
• GPU: nein (nur CPU-Referenzimplementierung)
Kendama-Tabelle. Standard = preset="jka_16_2" (Kugel 60 mm, Breite 70 mm und Gesamtlänge 180 mm sind veröffentlichte Werte der Japan Kendama Association (JKA); Ken-Höhe 160 mm und Schalen 42 / 38 / 35 mm stammen aus einer vom Nutzer gelieferten Beschreibung des Modells JKA 16-2 (Primärquelle nicht geprüft)). "recommended_large_cup" = große Schale 49 mm, Loch 24 mm.
Schlüssel: „ball_radius“ 0,030, „string“ 0,39 (Faden = empfohlen 38-40 cm), „pendulum_length“ = Faden + Kugelradius (Knoten → Kugelmitte, Platzieren Sie das Gewindeloch der Kugel auf der gegenüberliegenden Seite des großen Lochs), „cup_radius_big“ / „cup_radius_base“ / „cup_radius_small“ (Kantenradius), „cup_ Depth“. (Tiefe der großen Platte. Standard = Einsinken der Unterkante der Kugel auf dem Rand r_b − √(r_b² − r_c²) + 1,5 mm = Tiefe, bei der die Kugel den Boden nicht berührt), „ken_length“ (Höhe der Ken = Spitze → Rand der mittleren Platte, 160 mm), „width“ (Rand der großen Platte ~ Rand der kleinen Platte, 70 mm), „Lochradius“ / „Lochtiefe“ (Großes Loch in der Kugel. Tiefe = Ken + Kugel – Gesamtlänge = 40 mm), „total_length“ (zusammengebaute Gesamtlänge = Ken + Kugel – Lochtiefe), „cross_radius“ / „ken_radius“ / „spike_length“ / „cross_from_tip“ (angenommen), „mass“ (Ball, angenommenes 75 g), „ken_mass“ (angenommenes 70 g). Der Trick „trick“(KENDAMA_TRICKS: „ozara“ großer Teller / „kozara“ kleiner Teller / „chuzara“ mittlerer Teller / „candle“ = „rousoku“) bestimmt die Haltung:
„R_ken“ (lokale Koordinaten von Ken → Welt: lokal ist Spitze +x・große Platte +z・Ursprung = Mittelpunkt des Plattenkörpers), „Griff“ (Halteplatz, lokal), Aufnahmeplatte „catch_cup“ („groß“ / „klein“ / „Basis“). Von dort aus „cup_offset“ (Mitte des Randes der Aufnahmeplatte), „cup_axis“ zu Ihrer Hand (= Ort zum Halten) (Achse der empfangenden Platte, Welt), „tie_offset“ (Schnurloch im Plattenkörper: lokal (0, −cross_radius, 0)), „top_offset“ (höchster Punkt von Kendama), Berechnen Sie „cup_radius“ (den Radius der Kante der Aufnahmeplatte). Das Schwert und der Körper sind ein starrer Körper (die Haltung ist für jede Technik festgelegt und die Hand bewegt sich in Translation). Wenn Sie „cup_offset“ / „tie_offset“ / „cup_axis“ übergeben, wird es mit diesen Werten überschrieben (wenn Sie 0 übergeben, ist der Punkt = Drehpunkt = Platte = Hand: Tor des Theorems). catch_window = 0.003 m: kendama_simulate geht davon aus, dass der Ball in dem Moment gefangen wird, in dem die Mitte des Balls weniger als 3 mm von der Höhe h_c entfernt ist, auf der er auf der Kante aufliegt. (Der Ball berührt die Kante = landet. Wenn Sie das Fenster einfach 1,5 r_b über der Kante betreten, wird er nicht gefangen: Wenn sich der Scheitelpunkt innerhalb des Fensters befindet, wird er am Scheitelpunkt „gefangen“ – ich habe ihn gemessen und verworfen.) „rho“/„cd“ = Luftdichte/Luftwiderstandskoeffizient (Vakuum, wenn rho = 0: Das Theorem-Gate läuft damit).
Fail-Closed: unbekannte Voreinstellung, Abmessungen ≤ 0, Rand der Platte ≥ Kugel (kann nicht am Rand empfangen werden = nicht Kendama), Breite < Durchmesser der Platte, Gewinde ≤ Radius der Kugel, Wenn die Lochtiefe außerhalb liegt (0, Kugeldurchmesser) und der Lochradius ≥ Kugelradius, ValueError. Vergleichen Sie nicht die Dicke der Spitze und des Lochs. Die zurückgegebenen Werte umfassen die abgeleiteten Größen „cup_rest_height“ = √(r_b² − r_c²) (Höhe des Mittelpunkts des Balls am Rand der Empfangsplatte), „bp“ (ballistics.ball_params, solider Ball).
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.
• 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 als Eingabe)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 Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.