vtk实战(三)——点投影平面

主要采用了ProjectPoint()函数,x[3]表示点坐标,origin[3]表示平面上一点的坐标,normal[3]表示平面法向量坐标,xproj[3]表示点x投影到平面的坐标。

static void vtkPlane::ProjectPoint (double x[3],
double  origin[3],
double  normal[3],
double  xproj[3]     
)

实例代码:

#include <vtkSmartPointer.h>
#include <vtkPlane.h>

int main()
{
    vtkSmartPointer<vtkPlane> plane =
        vtkSmartPointer<vtkPlane>::New();
    plane->SetOrigin(0.0, 0.0, 0.0);
    plane->SetNormal(0.0, 0.0, 1.0);

    double p[3] = {2, 3, 4 };
    double origin[3] = { 0.0, 0.0, 0.0 };
    double normal[3] = { 0.0, 0.0, 1.0 };
    double projected[3];

    plane->ProjectPoint(p, origin, normal, projected);

    std::cout << "Projected: " << projected[0] << " "
        << projected[1] << " " << projected[2] << std::endl;

    return 0;
}

vtk实战(三)——点投影平面_第1张图片
代码链接:http://pan.baidu.com/s/1c25CE0C

你可能感兴趣的:(vtk实战(三)——点投影平面)