Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 对于两个点集A和B,找到B中不在A中的点的有效方法是什么_Algorithm_Set_Quadtree_Difference - Fatal编程技术网

Algorithm 对于两个点集A和B,找到B中不在A中的点的有效方法是什么

Algorithm 对于两个点集A和B,找到B中不在A中的点的有效方法是什么,algorithm,set,quadtree,difference,Algorithm,Set,Quadtree,Difference,我有一个表示一组多边形的点集,我将其传递给多边形boolop(clipping)算法。一旦得到结果,我想知道boolop新创建的点是什么——这些点是由于多边形边的相交造成的。因此,如果A是操作前的点集,B是操作后的点集,我想知道哪些点在B中,而不是在A中 是否应该使用一个普通的集合类型(比如C++ +STD::SET),定义一个适当的比较,然后做一个区别,或者最好是实现四叉树,然后做区别?是否存在提供差异化的开源四叉树实现?我在谷歌上搜索了四叉树,但大多数似乎与最近邻问题有关,而这些问题与我的要

我有一个表示一组多边形的点集,我将其传递给多边形boolop(clipping)算法。一旦得到结果,我想知道boolop新创建的点是什么——这些点是由于多边形边的相交造成的。因此,如果A是操作前的点集,B是操作后的点集,我想知道哪些点在B中,而不是在A中

是否应该使用一个普通的集合类型(比如C++ +STD::SET),定义一个适当的比较,然后做一个区别,或者最好是实现四叉树,然后做区别?是否存在提供差异化的开源四叉树实现?我在谷歌上搜索了四叉树,但大多数似乎与最近邻问题有关,而这些问题与我的要求无关

我将有一个最大的1000点,每次操作


谢谢大家!

多边形是凸的吗?下一个问题:如果多边形不是凸的,但也不是复杂的,它是否与“它自身相交?”中的多边形相同。然后我想你们可以从算法中得到一些想法。它通常需要建立一个数据结构来跟踪哪个区域被填充。为什么你不能自己裁剪多边形?@Billiska:多边形是凸的,但它们会相交。