1

OpenMesh 有它的VectorT 类,我相信它用于执行各种位置向量操作(加法/减法、内积和外积等)。有没有关于如何实际使用它的示例?我会特别感兴趣

  1. 如何定义和初始化 3D 坐标向量
  2. 如何正确地将(Point 类型的)顶点位置转换为 VectorT 类型,或者,如何立即将顶点位置作为 VectorT 类型。到目前为止,我正在使用mesh.point(vhandle)which,但是,它返回一个Point()类型。

编辑:显然Point是某种VectorT本身,因为VectorT成员函数也适用于Point对象。

4

1 回答 1

2

使用 OpenMesh 原生点类型的数学运算示例:

  1. OpenMesh::Vec3f myVec = OpenMesh::Vec3f(0, 0, 0);

  2. float distance = (point1 - point2).norm(); 也可用:l1_norm(),,,l8_norm()sqrnorm()

  3. Point interpolated_point = (1 - a) * point1 + a * point2;

  4. Vec3f crossProduct = vec1 % vec2;只为Vec3(正如你提到的Point)定义

  5. Vec3f dotProduct = vec1 | vec2;

于 2020-10-30T07:36:20.090 回答