tactorque op• 데이터 종류: matrix × matrix × scalar × scalar × scalar → table
• 호출: import fullseye as fs; fs.ledger.torque_decompose(pts, u, area: 'float', G: 'float', nu: 'float', a: 'float | None' = None, window=None, radius: 'float | None' = None, coef: 'float | None' = None, P: 'float | None' = None, mu: 'float | None' = None, torsion_model: 'str' = 'partial_slip') -> 'dict'(구현을 직접 호출하려면 import tactorque; tactorque.torque_decompose(pts, u, area: 'float', G: 'float', nu: 'float', a: 'float | None' = None, window=None, radius: 'float | None' = None, coef: 'float | None' = None, P: 'float | None' = None, mu: 'float | None' = None, torsion_model: 'str' = 'partial_slip') -> 'dict', 원장에서 가져오려면 opsdrive.get("torque_decompose"))
마커장을 3개의 역학량으로 나눕니다: translation = 창 안의 평균 변위(전단 Q, 단방향 성분), omega = 강체 회전각(rigid_rotation_fit) → 비틀림 Mz(a가 필요; omega_curl = 평균 curl/2는 참고용), D = 발산 쌍극자(면적 가중) → 기울기 M1 = D / coef(coef 기본값 = 반공간의 닫힌 식 −(1−2ν)/(2G), 실기에서는 캘리브레이션 값을 넘김), tau = (−M1_y, M1_x). 발산과 curl은 평균 변위를 빼도 변하지 않으므로(상수의 미분은 0) 순서에 의존하지 않습니다. 창 (cx, cy, R)은 접촉원으로 한정합니다(반공간에서는 순수 전단이 창 전체에 발산 쌍극자를 만들기 때문, 모듈 docstring 참조). radius = 발산의 근방 반경(필수).
비틀림: 무미끄럼 관계(Reissner–Sagoci) M = (16Ga³/3)ω 를 Mz_no_slip 에 남긴다. ★torsion_model="partial_slip"(기본값, 2026-10-06 부터) 에서는 Hertz 접촉(법선력 P, 마찰 mu, 접촉 반경 a)의 부분 미끄럼 수치해(cuttouch.torsion_partial_slip 의 contact 와 from_no_slip_read)로 고친 값을 Mz 에 반환한다 —— Hertz 접촉의 비틀림은 가장자리부터 반드시 미끄러지므로, 무미끄럼 관계 그대로면 M 을 과대하게 읽는다(완전 미끄럼까지의 비 0.5 에서 +33 %, 0.8 에서 +85 %). Mz_ratio(완전 미끄럼까지의 비), Mz_c_over_a(고착원의 반경 / a), Mz_readable(완전 미끄럼이 아니고, 고착원이 맞춤 창의 반경을 포함 —— 거짓이면 수는 반환하지만 믿을 수 없다. 창이 없으면 거짓)도 반환한다. a 를 넘기고 P 나 mu 가 없으면 보정할 수 없으므로 ValueError(조용히 무미끄럼 값을 반환하지 않는다). "no_slip" 은 0.4.0 까지의 값(Mz = Mz_no_slip)—— 평두 압자(완전 미끄럼의 8/(3π) 배까지 무미끄럼이 엄밀)나 접착한 원판의 경우. Raises ValueError: area, G ≤ 0, ν 가 [0, 0.5] 밖, 점의 형태, radius 없음, 창 안의 점이 3 미만, torsion_model 의 철자 오류, partial_slip 에서 a 가 있는데 P / mu 가 양의 유한이 아님.
• 샘플 데이터 카탈로그(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.