Metadata-Version: 2.4
Name: point3d-rigid-match
Version: 0.1.0
Summary: Compute the correspondence between points in the two point sets before and after rigid transformation.
License: MIT
License-File: LICENSE
Author: GGN_2015
Author-email: neko@jlulug.org
Requires-Python: >=3.10
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: scipy
Description-Content-Type: text/markdown

# point3d_rigid_match
Compute the correspondence between points in the two point sets before and after rigid transformation.

## Installation

```bash
pip install point3d_rigid_match
```

## Usage

```bash
from point3d_rigid_match import find_correspondence

# Give two matrix of N * 3
# assume that they are generated by rigid transformation
A = [
    [-0.8583011244293051, 1.664188145937392, -5.255867327332927],
    [-0.10348646934862409, 2.087722438630186, -3.5977804293199576],
    [-0.037025558771713755, 1.502559878964906, -5.803026123816429],
    [1.314519244586987, 1.8135837080551638, -4.756535447571685]
]

B = [
    [0.9444699906120909, -0.00025015438771101525, 0.0018484750111346566],
    [-0.22389601437774168, -1.201344263998704, -0.0010553875203044244],
    [0.5505852240909018, 0.9189030480397202, -0.0016416782728876612],
    [-1.2711589253295885, 0.2826915078445261, 0.0008482241211740123]
]

# Output the correspondence between A and B
N = len(A)
corr = find_correspondence(A, B)
for i, j in enumerate(corr):
    print(f"A[{i}] -> B[{j}]")
```

