vtk实战(五十)—计算线段与多边形的交点
来源:互联网 发布:北京新机场 知乎 编辑:程序博客网 时间:2024/05/17 22:23
主要用到IntersectWithLine()方法,如果交叉点发生,该方法返回非0值,并且计算交叉点坐标。
#include <vtkSmartPointer.h>#include <vtkPoints.h>#include <vtkPolygon.h>int main(){ vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New(); points->InsertNextPoint(0.0, 0.0, 0.0); points->InsertNextPoint(1.0, 0.0, 0.0); points->InsertNextPoint(1.0, 1.0, 0.0); points->InsertNextPoint(0.0, 1.0, 0.0); vtkSmartPointer<vtkPolygon> polygon = vtkSmartPointer<vtkPolygon>::New(); polygon->GetPoints()->DeepCopy(points); polygon->GetPointIds()->SetNumberOfIds(4); // 4 corners of the square polygon->GetPointIds()->SetId(0, 0); polygon->GetPointIds()->SetId(1, 1); polygon->GetPointIds()->SetId(2, 2); polygon->GetPointIds()->SetId(3, 3); double p1[3] = { 0.1, 0, -1.0 }; double p2[3] = { 0.1, 0, 1.0 }; double tolerance = 0.001; double t; double x[3]; double pcoords[3]; int subId; vtkIdType iD = polygon->IntersectWithLine(p1, p2, tolerance, t, x, pcoords, subId); std::cout << "intersected? " << iD << std::endl; std::cout << "intersection: " << x[0] << " " << x[1] << " " << x[2] << std::endl; return 0;}
0 0
- vtk实战(五十)—计算线段与多边形的交点
- vtk 求线与多边形所在面的交点以及线与线的交点
- VTK 求多边形和直线的交点
- 计算线段的交点
- 圆与线段的交点
- C# 求线段与圆的交点
- poj1039 Pipe 线段与直线的交点
- 判断线段与圆弧的交点
- 图形学算法——点与多边形的关系(交点数判断法)
- hdu1086计算n条线段的交点个数
- C# 计算两条线段交点的位置
- POJ3304 Segments(计算几何,线段和直线的交点)
- 计算射线与平面的交点
- 求直线(线段)与直线(线段)的交点
- hdu2528 Area 直线与多边形交点
- 圆弧与线段交点算法
- hdu1154(点是否在多边形内部、两线段交点)
- 求射线与线段相交的最多交点 poj 4048
- java并发编程(14)--java的守护线程与非守护线程
- HDU 1544Palindromes(求回文字符串)
- Partition List
- RS WLAN产品测试全面解决方案
- 自由落体
- vtk实战(五十)—计算线段与多边形的交点
- UVA 11636 Hello World!
- C语言位运算
- 通信协议:HTTP、TCP、UDP
- Centos MAC远程连接服务器
- 自动创建设备文件
- linux 命令小技巧
- HYSBZ 2152 聪聪可可
- [打字练习]Four