Skip to contents

Aligns two sets of points via rotations and translations.

Usage

kabsch(pm, qm)

Arguments

pm

n x 2 matrix of points to align to qm.

qm

n x 2 matrix of reference points.

Value

A list with the rotation matrix "um", the aligned coordinates "qm" and the target coordinates "pm"

Details

Given two sets of points, with one specified as the reference set, the other set will be rotated so that the RMSD between the two is minimized. The format of the matrix is that there should be one row for each of n observations, and the number of columns, d, specifies the dimensionality of the points. The point sets must be of equal size and with the same ordering, i.e. point one of the second matrix is mapped to point one of the reference matrix, point two of the second matrix is mapped to point two of the reference matrix, and so on.

Author

The original code was written by James Melville. See references for link to the GitHub gist where the code was taken from.