VTK隐函数之vtkPlane
2018-05-08 13:37
323 查看
vtkPlane
vtkPlane provides methods for various plane computations. These include projecting points onto a plane, evaluating the plane equation, and returning plane normal. vtkPlane is a concrete implementation of the abstract class vtkImplicitFunction.
成员函数:
- void EvaluateFunction(double x[3])、void EvaluateFunction(double x,double y,double z)用于估算点x[3]是否位于平面上、平面前或平面后(法线方向为前),它是从抽象类vtkImplicitFunction继承而来,在基类中它是一个纯虚函数。
- void EvaluateGradient (double x[3], double g[3])用于估算点x[3]处函数倾斜度
- void vtkPlane::SetNormal(double x[3])、void vtkPlane::SetNormal(double x,double y,double z)
- Set/get平面法向量.平面是由“点”和“法向量”定义的。
- void Set/GetOrigin(double x[3])与SetNormal用法类似。
- void vtkPlane::Push(double distance)该函数可以将平面沿着法线方向移动distance距离
在成员函数中还定义了点、矢量向某个平面投影的功能函数,如ProjectPoint、ProjectVector等。
隐函数的数学表达式为F(x,y,z)=w,平面的隐函数方程有点法式和一般式。在vtkPlane中采用的是点法式隐函数。
点法式平面隐函数方程为:A(x-x0)+B(y-y0)+C(z-z0)=w, (A,B,C)为平面法向量,即vtkPlane中的Normal,(x0,y0,z0)为平面上一点,即vtkPlane中的Origin。
平面的一般式方程为:Ax+By+Cz=w
EvaluateFunction(...)函数的源代码如下:
double vtkPlane::EvaluateFunction( double x[3] ) { return ( this->Normal[0]*(x[0]-this->Origin[0]) + this->Normal[1]*(x[1]-this->Origin[1]) + this->Normal[2]*(x[2]-this->Origin[2]) ); }
相关文章推荐
- VTK中的vtkPlaneWidget显示在QT的qvtkwidget中
- vtk类之vtkPlaneSource:创建一个平面的poly data
- VTK:VTKImagePlaneWidget 使用说明
- vtkImagePlaneWidget单次交互引发两次EndInteractionEvent
- vtk类之vtkPlane:用法向量和原点决定一个立体控件中平面的隐函数的一个实现
- vtk类之vtkTextureMapToPlane:纹理映射算法, 映射2D平面上的纹理
- vtkImagePlaneWidget:only works for ortho planes: set plane orientation first
- vtkPlaneWidget 实现实时切割
- vtkImagePlaneWidget的平移&旋转
- VTK: vtkImagePlaneWidget生成纹理切片相关问题
- VTK 初体验
- VTK简介(1)
- VTK的安装(3) 设置VC6项目
- Timus 1531. Zones on a plane
- 在vc6.0下编译vtk
- VTK简介
- VTK的编译与安装
- VTK初入门径--第四只小板凳
- VTK5.6.0在BCB6下的编译问题之一 remove的问题
- VTK学习心得:安装经历+小问题解决