tactile_dipole_moment — DRIVE tactorque op

• 데이터 종류: matrix × matrix → table

• 호출: 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'(구현을 직접 호출하려면 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', 원장에서 가져오려면 opsdrive.get("tactile_dipole_moment"))

사용법

> 이 연산자의 설명은 아직 번역이 없습니다. 원문을 그대로 싣습니다.

触覚双極子モーメント D = Σ_i w ρ_i r_i(2 成分)。`form`:

• `"divergence" —— 論文(arXiv 2404.15626)式 4–8: ρ_i = (∇·u)_i(rho を渡すか、radius で :func:marker_divergence`)。

• `"norm_cross"` —— 論文の基線(式 10–11、Yamaguchi & Atkeson 流): ρ_i = |u_i|(ベクトルのノルムを法線力の代わりに)。

l_i × f_i の傾き成分は (l_y|u|, −l_x|u|) で D を 90° 回したものなので、同じ「1 次モーメント」の枡で返す。零点後の対称な傾きでは

|u| が M の偶関数なので恒等的に 0(符号を知らない、門)。

• `"radial"` —— 本モジュールの変種: ρ_i = u_i · r̂_i(放射成分)。

`origin: "midpoint"(式 6–7、正負の重心の中点)/ "centre"`(pts の平均、基線の作法)/ (x0, y0)。

`weight: "area" = 1 点あたり面積 area [m²] を掛ける(閉形式の係数 −(1−2ν)/(2G) と比べられる、単位 m³)/ "mean"` = 1/N(論文)。

`window` = (cx, cy, R) なら半径 R 内の点だけ使う(せん断の漏れを切る窓、根拠はモジュール docstring)。valid でない点(nan)は除く。

返り `D (2,)、tau_dir = (−D_y, D_x)(式 9 の向き、係数なし)、origin、n、rho、form、keep`。

Raises ValueError: form/origin/weight が未知(綴り違いは fail-closed)、pts/u の形、area 無しの "area"、使える点が 3 未満。

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• poc_tactile_dipole_torque — py -3.11 examples/poc_tactile_dipole_torque.py

타입이 이어지는 다음 연산자(table 를 입력으로 받는 것)

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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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