0

我将如何检查正方形区域内是否存在三角形多边形?(IE 描绘了一个覆盖一组二维多边形的正方形网格。)

或者更好的是,我如何确定这些正方形之一被给定多边形(如果有的话)占据的百分比。

我以前使用过directx,但似乎无法在他们的文档中找到正确的功能组合。- 虽然感觉光线追踪的东西可能是相关的。

我使用 c++,如果有帮助可以使用 directx。感谢您的任何建议或想法。:)

4

3 回答 3

4

您可能会考虑使用裁剪器库来进行通用 2D 多边形裁剪、面积计算、相交测试等。它相当紧凑且易于处理,并且有很好的使用示例。

它是 Vatti 裁剪算法的一种实现,可以处理许多奇怪的边缘情况(这对你来说可能是多余的)

于 2012-12-14T21:35:41.833 回答
2

有几种方法可以做到这一点,它本质上是一个剪裁问题。

一种方法是使用 Cohen-Sutherland 算法:http ://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland

您将运行该算法 3 次(每个三角形边缘一次)。

然后,您可以通过计算 area(clipped_triangle) / area(square_region) 找到所占面积的百分比。

于 2012-12-14T21:34:02.493 回答
0

您可能会考虑使用裁剪器库来进行通用 2D 多边形裁剪、面积计算、相交测试等。它相当紧凑且易于处理,并且有很好的使用示例。

它是 Vatti 裁剪算法的一种实现,可以处理许多奇怪的边缘情况(这对你来说可能是多余的)

Can ho 青瓷城- vinhomes 中央公园

于 2015-10-20T08:56:12.937 回答