/** * Computes the covariance matrix which is the linear interpolation between two matrices, by a fraction. * \param a The first covariance matrix. * \param fraction The scalar fraction at which the evaluate the linear interpolation. * \param b The second covariance matrix. * \return The interpolated covariance matrix. */ point_type move_position_toward(const point_type& a, double fraction, const point_type& b) const { return point_type(matrix_type(value_type(1.0 - fraction) * a.get_matrix() + value_type(fraction) * b.get_matrix())); };
point_difference_type(const point_type& aSrc, const point_type& aDst) : M(aSrc.get_matrix() - aDst.get_matrix()) { };
/** * Adds a given covariance matrix difference to a given covariance matrix. * \param a A covariance matrix. * \param delta A covariance matrix difference to add to a. * \return The adjusted covariance matrix. */ point_type adjust(const point_type& a, const point_difference_type& delta) const { return point_type(matrix_type( a.get_matrix() + delta.M )); };