For each edge V1-V2 in the first polygon, Let H := Half-plane tangenting V1-V2, with the remaining vertices on the "inside". Let C := New empty polygon. For each edge V3-V4 in the second polygon, Let X := The intersection between V3-V4 and H. If V3 inside H, and V4 is outside H then, Add V3 to C. Add X to C. Else if both V3 and V4 lies outside H then, Skip. Else if V3 outside H, and V4 is inside H then, Add X to C. Else Add V3 to C. Replace the second polygon with C.
简单的使用就足够了;10-20个顶点,并且不重新计算每一帧。— O( n 2)
这里是一些链接:
- 计算机图形学I –多边形裁剪和填充(pdf)
- rosettapre.org – Sutherland-Hodgman多边形裁剪
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)