CGAL:如何将一个 3D 矢量旋转到另一个?

CGAL: How do I rotate one 3D vector onto another?

我正在尝试旋转一个 3D 非单位矢量 (Vector_3),以便它与使用 Exact_predicates_exact_constructions_kernel 的另一个 3D 非单位矢量重合。

我主要参考 this 创建旋转矩阵。然而,创建单位向量并非易事。使用此内核执行此类旋转的最合适方法是什么?

一旦你需要sqrt,你将只能得到一个近似值。我建议您使用 CGAL::Cartesian_converter 在支持 sqrt 的内核中执行操作(如 CGAL::Simple_cartesian<double> 如果不需要确切的谓词),然后将结果转换回 EPEC 内核。