我有一个Vector3d
,其中包含一个顶点列表,并且我正在尝试对其进行旋转,但是找不到解决方法:
rotationArbitraryAxis(const Vector3d axis, const double angle) {
Vector3d normAxis = axis.normalized();
double radians = angle * M_PI / 180.0f;
AngleAxisd aa(radians, normAxis);
Affine3d fTransform = Translation3d(normAxis) * aa * Translation3d(-normAxis);
const double* data = reinterpret_cast<const double*>(m_mesh.points().data());
Vector3d verts(m_mesh.number_of_vertices());
std::copy(data, data + m_mesh.number_of_vertices() * 3, verts.data());
verts *= ???
}
有什么想法吗?
正如我在评论中所说,将Affine3d转换为矩阵,然后使用该矩阵转换顶点。