如何将Affine3d应用于Vector3d

问题描述 投票:0回答:1

我有一个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 *= ???
}

有什么想法吗?

c++ eigen
1个回答
0
投票

正如我在评论中所说,将Affine3d转换为矩阵,然后使用该矩阵转换顶点。

© www.soinside.com 2019 - 2024. All rights reserved.