tactorque op• Data kinds: matrix × matrix → table
• Call: import fullseye as fs; fs.ledger.tactile_dipole_moment(pts, u, form: 'str' = 'divergence', origin='midpoint', weight: 'str' = 'area', area: 'float | None' = None, window=None, rho=None, radius: 'float | None' = None) -> 'dict' (implementation को सीधे call करना हो तो import tactorque; tactorque.tactile_dipole_moment(pts, u, form: 'str' = 'divergence', origin='midpoint', weight: 'str' = 'area', area: 'float | None' = None, window=None, rho=None, radius: 'float | None' = None) -> 'dict', registry से लेना हो तो opsdrive.get("tactile_dipole_moment"))
tactile dipole moment D = Σ_i w ρ_i r_i (2 components)। form: * "divergence" —— पेपर (arXiv 2404.15626) समीकरण 4–8: ρ_i = (∇·u)_i (rho दें, या radius से marker_divergence)। * "norm_cross" —— पेपर का baseline (समीकरण 10–11, Yamaguchi & Atkeson शैली): ρ_i = |u_i| (normal बल की जगह vector का norm)। l_i × f_i का tilt घटक (l_y|u|, −l_x|u|) है, यानी D को 90° घुमाया हुआ, इसलिए उसी "1st moment" जगह में लौटाया जाता है। zero के बाद symmetric tilt में |u| M का even function है, इसलिए यह हमेशा 0 है (चिह्न नहीं जानता, gate)। * "radial" —— इस module का रूप: ρ_i = u_i · r̂_i (radial घटक)। origin: "midpoint" (समीकरण 6–7, धनात्मक और ऋणात्मक centroids का मध्य-बिंदु) / "centre" (pts का औसत, baseline का तरीका) / (x0, y0)। weight: "area" = प्रति 1 बिंदु क्षेत्रफल area [m²] से गुणा (closed-form coefficient −(1−2ν)/(2G) से तुलनीय, इकाई m³) / "mean" = 1/N (पेपर)। window = (cx, cy, R) पर केवल त्रिज्या R के भीतर के बिंदु (shear के रिसाव को काटने वाली window, आधार module docstring में)। valid न होने वाले बिंदु (nan) हटाए जाते हैं। return D (2,), tau_dir = (−D_y, D_x) (समीकरण 9 की दिशा, coefficient के बिना), origin, n, rho, form, keep। Raises ValueError: अज्ञात form/origin/weight (spelling की गलती fail-closed), pts/u का shape, area के बिना "area", 3 से कम उपयोगी बिंदु।
• 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 में दिए गए हैं।
• poc_tactile_dipole_torque — py -3.11 examples/poc_tactile_dipole_torque.py
table को input के रूप में लेते हैं)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
tactorque)punch_pressure · punch_surface_uz · hertz_pressure_shifted · ellipse_pressure_shifted · pressure_first_moment · boussinesq_kernel · boussinesq_surface_displacement · surface_divergence_closed_form
*Provenance: tactorque.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.