Eigen で重心
C++ の線形代数ライブラリ Eigen で、3次元位置ベクトルを10個並べた Matrix があって、これの重心が原点になるようにしたい場合
Eigen::Matrix<double, 10, 3> position; // 座標代入部分省略 // 重心ベクトル Eigen::Vector3d centroid; centroid = position.colwise().sum() / position.rows(); ref.rowwise() -= centroid.transpose();
という具合になる。python/numpy 系に比べると colwise
, rowwise
といった少々直感的にわかりづらいものを使う必要がある。