我有一个简单的多边形(凸或凹,但没有孔),我需要用线段切片成部分。我不确定如何实际确定在切片之后产生多少个多边形,或者如何对顶点进行分组。如何用线切割简单多边形
基本的凸形案例总是会导致2个子多边形很容易,但是如何处理复杂的凹形?以“E”形多边形为例。垂直切片可以产生4个多边形。我怎样才能确定哪些顶点组成了每个子多边形?
定义多边形:我在这里有两个选项。我的多边形可以是顶点的有序列表,也可以是三角形的数组。我更喜欢使用三角形阵列的解决方案。如果它们相交,应该很容易遍历每个三角形并将它与线条分开。但是,我不知道如何将这些三角形分组为这些结果的子多边形。
伪代码甚至一般的建议是好的;一个C#实现是理想的。
这有帮助吗? http://stackoverflow.com/questions/1775457/generate-new-polygons-from-a-cut-polygon-2d – fredley 2010-09-30 16:45:29