简介:本文主要介绍vtkImplicitFunction接口及其子类的实现原理和用途。
目录
1. vtkPlane
2. vtkPolyPlane
1. vtkPlane
描述:vtkPlane提供了各种平面的计算方法,包括点到面的投影,计算点到面的距离及面的法向量等。
EvaluateFunction: 返回点到平面的距离(正数表示点在平面法向量一侧;反之相反)。
2. vtkPolyPlane
描述:vtkPolyPlane是vtkPolyLine在Z轴方向的拉伸,可以在vtkCutter中使用。
核心算法实现:
ComputeNormals-->计算每条直线所构成的Plane的法向量
EvaluateFunction实现原理:
x点在无限直线p1p2上的投影点在p1p2之间

x点在无限直线p1p2上的投影点在p1的左侧


x点在无限直线p1p2上的投影点在p1的右侧


for循环:针对每条线
a. 获取该线的两点p1,p2;
b. 计算x点到直线p1,p2的距离(采用点到有限直线距离的计算方法,参考 vtk基础知识 博客);
c. 若x点到直线的最近点在p1,p2之间,则最小距离为x点到直线的距离;计算x点在直线的左侧or右侧。
d. 若x点在无限直线p1p2上的投影点在p1的左侧,则最小距离为x点到p1点的距离;计算x点在直线与前一条直线的左侧or右侧。
e. 若x点在无限直线p1p2上的投影点在p1的右侧,则最小距离为x点到p2点的距离;计算x点在直线与后一条直线的左侧or右侧。
返回x点在vtkPolyPlane的距离,以及方向(左侧为正,右侧为负)。








![[ 常用工具篇 ] 解决kali英文操作不方便的问题 -- kali 设置中文界面](https://img-blog.csdnimg.cn/a6669034d40146a0b8b4493c88384275.png)










