【BUG求助】多边形碰撞体赋值顶点数组,会额外出现一个矩形

cocos 2.4.2 版本,

web平台,

创建一个节点,锚点坐标为 (0,0) ,添加刚体组件,带多边形碰撞组件,
然后用圆去切割这个多边形,每次切割后,生成新的顶点数组,然后将这个数组赋值给多边形组件:
this.collider.points = points;
this.collider.apply();

this.collider就是多边形碰撞组件,一般情况下没问题;

但当从节点左边的中间位置水平向右切割时,有几率出现问题,打开绘制碰撞形状的调试信息,发现:
在节点的原点位置多出一个100*100的矩形碰撞范围。

从图中可知,四个顶点在节点坐标系下的坐标应该为(-50,-50),(50,-50),(50,50),(-50,50);
已经排查过,新生成的顶点数组中,没有坐标为负值的顶点;

在 CCPhysicsCollider 这个脚本中,分割成凸多边形,创建碰撞形状这些步骤中,都没有发现坐标为负的顶点;

现在没精力进一步去box2d的源码里面查看了,请各路大佬和引擎组的大佬们帮忙。
微信截图_20201219170256

下面是demo,为减少包体,提示文件我已经去掉了,
如果需要看代码的话,多边形切割功能在LevelScene/Script/Tile.ts这个脚本里面

zhaDan.zip (79.7 KB)

同样碰到了,怎么解决

是我的算法问题,出现了多边形的几条边相交的情况,你也仔细检查一下自己的代码看看~