官方示例
http://www.vtk.org/Wiki/VTK/Examples/Cxx/SimpleOperations/DistancePointToLine
例子解析
利用vtkLine的 DistanceToLine 求点到线的距离
double lineP0[3] = { 0.0, 0.0, 0.0 };
double lineP1[3] = { 4.0, 0.0, 0.0 };
double p0[3] = { 5.0, 0, 0 };
double p1[3] = { 1.0, 3.0, 4 };
double t;
double closest[3];
重载1:
double dist0 = vtkLine::DistanceToLine(p0, lineP0, lineP1);
- 返回p0到由lineP0和lineP1确定的
直线
的距离平方
重载2:
double dist0 = vtkLine::vtkLine::DistanceToLine(p0, lineP0, lineP1, t, closest)
- 返回p0到由lineP0和lineP1确定的
线段
的距离平方 - t是点在线段上的投影的比例位置(以lineP0为起始点,lineP1为正向),注意这个位置可能超出[0,1]区间
- closest是距离点p0最近的线段上的点,不会超出[p1,p2]