cutting op• Data kinds: scalar × scalar → table
• Call: import fullseye as fs; fs.ledger.cut_force_atkins(R_j_per_m2: 'float', width_mm: 'float', xi: 'float' = 0.0, wedge_deg: 'float | None' = None, mu: 'float' = 0.0, model: 'str | None' = None) -> 'dict' (to call the implementation directly, import cutting; cutting.cut_force_atkins(R_j_per_m2: 'float', width_mm: 'float', xi: 'float' = 0.0, wedge_deg: 'float | None' = None, mu: 'float' = 0.0, model: 'str | None' = None) -> 'dict'; from the registry, opsdrive.get("cut_force_atkins"))
Closed form of the cutting force for soft solids (scale = toughness R × cut width w, linear (1st order) in R and w). Returns a dict (N).
model="slice_push" (default, no wedge_deg): frictionless push + pull (Atkins 2016, Interface Focus 6:20160019, eqs. 1.2–1.4): V/(Rw) = 1/(1+ξ²), H/(Rw) = ξ/(1+ξ²), F_res/(Rw) = 1/√(1+ξ²). ξ = velocity along the blade / velocity across the blade. model="wedge_friction" (pass wedge_deg; push only, ξ = 0): elastic chip + Coulomb friction (Williams & Patel 2016, Interface Focus 6:20150108 eq. 2.6, μ = tan β): Fc/(b Gc) = 1 / ((1 − cos θ) + sin θ / tan(β + θ)). θ is the tool angle of the original. The minimum is 1/(1 − sin β) at θ + β = 90°. ★ The slice/push formula including friction and blade angle has not been read, so it is not implemented: specifying ξ > 0 together with wedge_deg / mu raises ValueError.
Return value: V (push), H (pull; nan for wedge_friction), F_res, scale = R·w, and Fc_over_bGc for wedge_friction.
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• poc_food_cutting_measure — py -3.11 examples/poc_food_cutting_measure.py
table as input)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
cutting)cutting_scene · cutting_face_render · cutting_edge_render · cutting_episode_synth · cutting_wrist_mjcf · knife_edge_track · cut_depth_from_side · slice_thickness_profile
*Provenance: cutting.py — DRIVE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.