From 2219006ce3e80eba95d5bd6740e925d6af64ff5f Mon Sep 17 00:00:00 2001 From: Andrew Jewett Date: Wed, 12 Feb 2020 18:59:28 -0800 Subject: [PATCH] updated README.md and the comments in superpose3d.hpp --- README.md | 4 ++-- include/superpose3d.hpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0a3de7b..b5a5c9a 100644 --- a/README.md +++ b/README.md @@ -147,10 +147,10 @@ For large *N*, the computation time required (per point in the cloud) is approximately 4.0-08 seconds. -*(Details: This was measured on a single 1.7GHz i5-4210U CPU core. +(Details: This was measured on a single 1.7GHz i5-4210U CPU core. For this test, the [tests/test_superpose3d.cpp](tests/test_superpose3d.cpp) file was compiled using g++ with the "-Ofast" compiler flag, and then run with -and without with the line invoking Superpose3D::Superpose() commented out.)* +and without with the line invoking Superpose3D::Superpose() commented out.) ## Development Status: *Stable* diff --git a/include/superpose3d.hpp b/include/superpose3d.hpp index 534092d..32eebe1 100644 --- a/include/superpose3d.hpp +++ b/include/superpose3d.hpp @@ -57,7 +57,7 @@ class Superpose3D { public: // The next 3 data members store the rotation, translation and scale // after optimal superposition - Scalar **R; //!< store optimal rotation here + Scalar **R; //!< store optimal rotation here (this is a 3x3 array). Scalar T[3]; //!< store optimal translation here Scalar c; //!< store optimal scale (typically 1 unless requested by the user) @@ -81,7 +81,7 @@ class Superpose3D { /// (optionally) rescale operations are applied to the coordinates in the /// "aaXm_orig" array in order to minimize the root-mean-squared-distance /// (RMSD) between them, where RMSD is defined as: - /// sqrt((Sum_i w_i * |X_i - (Sum_jc*R_ij*x_j + T_i))|^2) / (Sum_j w_j)) + /// sqrt((Σ_n w[n]*Σ_i |X[n][i] - (Σ_j c*R[i][j]*x[n][j]+T[i])|^2)/(Σ_n w[n])) /// The "X_i" and "x_i" are coordinates of the ith fixed and mobile point, /// (represented by "aaXf" and "aaXm" below), and "w_i" are weights /// (represented by "aWeights", which, if omitted, are assumed to be equal).