Eigen::Vector3f transformVector(Eigen::Vector3f vector_in, Eigen::Matrix4f transf){ Eigen::Vector4f vector_in_4f(vector_in[0], vector_in[1], vector_in[2], 1); // Obtener rotación desde matriz de transformación Eigen::Matrix4f rot; rot = transf; rot.col(3) = Eigen::Vector4f(0, 0, 0, 1); Eigen::Vector4f vector_out_4f = rot*Eigen::Vector4f(vector_in[0], vector_in[1], vector_in[2], 1); Eigen::Vector3f vector_out (vector_out_4f[0], vector_out_4f[1], vector_out_4f[2]); return vector_out; }
void vector_arr_out(double* v,int n){ gsl_vector_view vv=gsl_vector_view_array(v,n); vector_out(&vv.vector); }