我正在尝试根据WAD文件中包含的信息为Doom 2级别创建多边形。我完成了墙壁,剩下的就是“平面”,地板和天花板区域。 Doom地图被划分为“扇区”,每个都评估为平面复杂的多边形。
将简单的凸多边形分解为三角形会很容易,因为有很多算法可供选择。但是许多扇形多边形是凹的,有些甚至有“洞”,其他扇区在其中。下面是一个示例,其中特别复杂的多边形以橙色显示:http://screencast.com/t/BNKuzRVy8
任何人都可以推荐一种算法,或者更好的C#代码,它会将这种复杂多边形分解成三角形吗?
我知道WAD文件包含以这种方式间接描述故障的节点,SEG,SUBSECTOR信息等。但它特别复杂。我不需要b树结构。我想避免将所有这些信息解析出来并拼凑在一起,因为我只从扇区信息中获得了复杂的多边形结构。