Klika (Crank)
Crank používá jeden pevný compound s ramenem a madlem, který se může neomezeně otáčet.
jolt_control_crank(options=undefined)Před vytvořením zavolejte jolt_start(). Každá factory přijímá jeden volitelný options struct a vrací JoltControl, při chybě undefined. Společné options: parent, position/rotation nebo local_position/local_rotation, mass, resistance a output. Rozměry jsou celé délky v metrech, hmotnost v kg; úhly tohoto API jsou ve stupních. Detaily společného nastavení najdete v kapitole Uchycení, velikost a vykreslování.
| Položka | Význam / výchozí hodnota |
|---|---|
| arm_length | 0.5 m |
| arm_size | {width:0.08, depth:0.08} |
| handle_radius / handle_length | 0.08 m / 0.18 m |
| mass / resistance | 1 kg / 0 N·m |
Rameno vede od pivotu podél +X, jeho width je rozměr Y a depth rozměr Z. Madlo leží na konci ramene a vede podél +Z. Všechny rozměry musí být kladné; size není podporováno. Hmotnost se vztahuje k celému compoundu. Veřejný origin je pivot, těžiště a setrvačnost odpovídají oběma částem. Madlo se samostatně neprotáčí.
Wheel a Crank přijímají periodic_detents, absolute_detents, speed_motor, position_motor, phase_motor a torque_mode. Ve výchozím stavu jsou všechny vypnuté. Nepřijímají auto_return, target, drive, detents, min_angle, max_angle, initial_phase ani initial_turns. Použijte příslušné metody kontinuálního pohonu.
Příklad#
crank = jolt_control_crank({
arm_length: 0.4,
arm_size: {width: 0.06, depth: 0.06},
handle_radius: 0.04,
handle_length: 0.15,
resistance: 0.2
});
var completed_turns = crank.get_turns();Integrace s aktuálním projektem#
Nové související postupy#
Ověřené kontrakty operací#
Následující kontrakty rozlišují jednotky, návratové hodnoty, chyby a životnost podle aktuální implementace. Nevynechávej kontrolu výsledku: false, 0 a undefined mohou mít u různých metod odlišný význam.
| Symbol / vlastník | Signatura | Kontrakt operace |
|---|---|---|
| jolt_control_crank | jolt_control_crank(options=undefined) | Vyžaduje managed svět, options volitelné, vrací vlastněný JoltControl nebo undefined. Bez parent světové position/rotation; s parent místní local_position/local_rotation, nekombinuj. Crank: arm_length.5m, arm_size .08/.08m, handle_radius.08, length.18m, mass1kg; arm +X, handle +Z. Volná rotace jako Wheel. |