我目前正在为游戏开发 2D 照明系统。地图由可以具有某些标签和特征的图块组成。在这种情况下,我将一些图块设置为“不透明”,并编写了一个函数来为每个不透明图块生成一堆矩形。我想通过将大组矩形合并成凸多边形来优化这个几何形状。
我的矩形被定义为数组中线段的集合。
矩形多边形示例:
var polygon = [
{a:{x:0,y:0}, b:{x:640,y:0}},
{a:{x:640,y:0}, b:{x:640,y:360}},
{a:{x:640,y:360}, b:{x:0,y:360}},
{a:{x:0,y:360}, b:{x:0,y:0}}];
所以我的问题是如何从一大群矩形中生成一小群凸多边形?我绝不是专业的编码人员,因此请在您的答案中包含详尽的解释,并在可能的情况下提供示例。我花了几个多小时试图自己解决这个问题。
谢谢!