Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.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
C# 快速搜索与指定Z平面相交的所有三角形(三维空间)_C#_3d_Geometry_Intersection_Plane - Fatal编程技术网

C# 快速搜索与指定Z平面相交的所有三角形(三维空间)

C# 快速搜索与指定Z平面相交的所有三角形(三维空间),c#,3d,geometry,intersection,plane,C#,3d,Geometry,Intersection,Plane,我有一个复杂的3D对象,全部由三角形组成(超过1.000.000个三角形)。我需要(非常快)得到所有与指定Z平面相交的三角形。 例如,有两个三角形 T1 = P1(0,0,0) P2(0,0,10) P3(0,10, 0) T2 = P1(50,50,50) P2(50,50,60) P3(50,60,50) Z plane = 3 在本例中,T1与Z=3相交,T2不相交。 我的大问题是知道存储三角形(KD树、AABB…)的最佳结构是什么,以及如何有效地只搜索具有TZmin>Z>TZmax的三

我有一个复杂的3D对象,全部由三角形组成(超过1.000.000个三角形)。我需要(非常快)得到所有与指定Z平面相交的三角形。 例如,有两个三角形

T1 = P1(0,0,0) P2(0,0,10) P3(0,10, 0)
T2 = P1(50,50,50) P2(50,50,60) P3(50,60,50)
Z plane = 3
在本例中,T1与Z=3相交,T2不相交。 我的大问题是知道存储三角形(KD树、AABB…)的最佳结构是什么,以及如何有效地只搜索具有TZmin>Z>TZmax的三角形。 我必须在C#中完成所有工作,而且我对这种类型的3D问题非常陌生。 非常感谢您的帮助


通过GMG

嗯,我不知道“最好”的方法是什么,但是KD树对于这种任务来说是非常合适的。此外,我将考虑将计算委托给GPU,因为它被设计来完成这项工作。XNA和SharpDX是很好的起点。但和往常一样:在担心速度之前,你应该检查一下速度是否太慢……我想知道的是什么是最好的方法,非常快的是什么算法给了我很少的时间来做选择工作。例如,对所有三角形使用“for cile”是一种非常缓慢的方法