【问题标题】:OpenMesh geometric vector operationsOpenMesh 几何矢量运算
【发布时间】:2020-10-28 14:01:51
【问题描述】:

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

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

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

【问题讨论】:

    标签: openmesh


    【解决方案1】:

    使用 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;

    【讨论】:

      猜你喜欢
      • 2014-05-28
      • 1970-01-01
      • 1970-01-01
      • 2011-07-08
      • 2018-12-04
      • 1970-01-01
      • 1970-01-01
      • 2021-08-17
      • 2015-06-27
      相关资源
      最近更新 更多