网格测量

测地距离是什么

  • 测地曲率:曲面上的曲线有一个曲率向量。这个向量往曲面的法线做投影,得到的投影向量就是法曲率向量;往曲面的切平面做投影,得到向量就是测地曲率向量,这个向量的大小就是测地曲率。所以从定义上看,测地曲率刻画了曲线在曲面内蕴的弯曲程度,而法曲率刻画了曲线在嵌入空间的弯曲程度。比如一张平面上的直线的测地曲率为0,法曲率为0,如果把这张纸弯曲成圆柱,纸上的直线在三维空间就弯曲了,但是测地曲率还是为0。
  • 测地线:测地曲率为0的曲线就是测地线。两点之间的最短曲线就是测地线,反过来讲不一定成立,但是从局部上看是成立的。全局上看不一定成立,比如球上连接两点的优弧虽然是测地线,但不是最短距离。
  • 网格上的测地线:网格上的测地线如果限制在网格的边上走,则为近似的测地线,如下图中间所示。如果测地线可以走网格的面,则为精确的测地线,如下图右所示。在Geometry++里,有专门计算测地线的模块
  • geodesics
  • 测地线的应用:可以用于测量网格上两点之间的距离,比如下图测量鞋子。也可以用于线切割网格的应用中,比如UV展开网格前,需要先用测地线把网格割开。
  • geodesics

    曲率

    曲率有很多种类,如高斯曲率,平均曲率,测地曲率,法曲率,主曲率等等。

  • 测地曲率,法曲率:属于曲线曲率概念。曲面上的曲线有一个曲率向量。这个向量往曲面的法线做投影,得到的投影向量就是法曲率向量;往曲面的切平面做投影,得到向量就是测地曲率向量,这个向量的大小曲率值
  • 主曲率:属于曲面曲率概念。经过曲面某一点有无数条曲线,每条曲线都有法曲率,那么就有最大最小的法曲率,这个最大最小值就是主曲率,对应的曲线在这点的切线方向就是主曲率方向。有时候,最大最小值相等,就退化成脐点。
  • 高斯曲率:属于曲面曲率概念,它度量了曲面内在的弯曲程度。一个曲面做任何非拉伸的变换都不会改变它的高斯曲率,如平面高斯曲率为0,把它弯曲成圆柱,其高斯曲率也还是为0。高斯曲率为0的曲面也叫可展曲面,它展平到平面不会产生扭曲。高斯曲率也等于两个主曲率的乘积,但是它本身不依赖主曲率。
  • 平均曲率:属于曲面曲率概念,它度量了曲面在空间中的弯曲程度。比如平面弯曲成圆柱后,其平均曲率就不为0了。它等于主曲率的平均值。平均曲率为0的曲面也叫极小曲面,如肥皂薄膜。
  • 生活当中,人们讨论中提到的曲率是哪一种曲率呢?我认为它并不是特指某类曲率,可能max(各类曲率)和它比较接近。比如一般认为圆柱也有非零曲率值,因为它的最大主曲率非零。


    曲率相关的测地线

    有时候,用户需要测地线能吸附到特征边上。可以通过曲率信息来改变网格的测度。如下图所示,中图的线为普通的测地线,右图是吸附到特征边的测地线。

    geodesics

    软件中的单位系统

    三维数据一般都有自己的单位,比如1可能代表1米或者1毫米。数字的单位需要用户指定,或者导入的数据文件有标明单位。一般的模型文件,如stl,obj,asc等,都没有单位信息的。导入模型文件后,需要软件用户指定单位。数值计算是没有单位概念的。具体计算的时候,数据统一到同一个单位系统就可以了。比如1米+1毫米,可以是(1000+1)毫米,也可以是(1+0.001)米。