transrot is a lightweight Python package to calculate the translation vector and rotational matrix between two sets of 3D coordinates. This transformation can be applied to another set of coordinates
pip install transrot
from transrot import TransRot import numpy as np # Get your (n, 3) array of coordinates coords1 = np.random.random((5, 3)) coords2 = np.random.random((5, 3)) coords3 = np.random.random((5, 3)) # Initialize the class transformation = TransRot( coords1=coords1, coords2=coords2 ) # Calculate rotational matrix and translational vector that aligns coords1 to coords2 transformation.fit() # Transform a set of coordinates with the calculated transformation transformed_coords = transformation.transform(coords3)
If you have found a bug, please open an issue on the GitHub Issues.
This project received funding from Marie Skłodowska-Curie Actions. It was developed in the Computational Biophysics Group of Saarland University.