match_pose op• 데이터 종류: points → axes
• 호출: import fullseye as fs; fs.ledger.moment_axes(points, weights=None)(구현을 직접 호출하려면 import match3d; match3d.moment_axes(points, weights=None), 원장에서 가져오려면 ops3d.get("moment_axes"))
점군/가중 점의 무게중심 + 주축(관성 텐서의 고유벡터). 자세 추정의 기초.
반환값 (centroid(3,), axes(3,3) 열=주축, eigvals(3,)). 고윳값 내림차순. 회전의 정준화에 쓴다.
정의: w를 총합 1로 정규화하고, 무게중심 c = Σ w p, 산포 행렬 C = Σ w (p−c)(p−c)ᵀ (공분산. 관성 텐서 tr(C)I − C와 고유벡터는 공통이고 고윳값의 순서가 반대)를 eigh로분해한다. axes[:, i]가 i번째로 큰 고윳값의 주축(내림차순). 고윳값은 분산(길이²).
• 고유벡터의 부호는 임의이며 axes는 왼손계(det=−1)가 될 수 있다(match_pca는 제3축을
반전해 오른손계로 만든다).
• weights는 길이 N. 총합 0은 0 나눗셈으로 NaN(예외는 나지 않음). 점 수 0은 실패한다(검증은 없음).
• 주축이 축퇴(구 등)되면 축의 방향은 정해지지 않는다.
후단: match_pca, obb(방향 있는 bbox), 정준 자세로의 회전.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• itokawa_pose_canonical — py -3.11 examples_3d/itokawa_pose_canonical.py
axes 를 입력으로 받는 것)match_pose)match_phase_3d · match_pca · match_logpolar_z
*Provenance: match3d.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.