QPolygonF ::减去后的返回空多边形

时间:2018-10-26 03:29:29

标签: qt

我尝试用Qt用QPolygonF操纵多边形,我有两个多边形定义波纹管:

QPolygonF united({QPointF(990.7259337619009, -135.98722434697697),
QPointF(996.0, -84.0),
QPointF(1190.0, -164.0),
QPointF(1125.0, -232.0),
QPointF(1063.0, -257.0),
QPointF(1061.5503854625551, -256.37362334801765),
QPointF(1088.0, -505.0),
QPointF(966.0, -615.0),
QPointF(602.0, -699.0),
QPointF(518.0, -670.0),
QPointF(352.0, -533.0),
QPointF(309.0, -440.0),
QPointF(507.0, -195.0),
QPointF(990.7259337619009, -135.98722434697697)});

QPolygonF other({QPointF(309.0, -440.0),
QPointF(507.0, -195.0),
QPointF(1048.0, -129.0),
QPointF(1088.0, -505.0),
QPointF(966.0, -615.0),
QPointF(602.0, -699.0),
QPointF(518.0, -670.0),
QPointF(352.0, -533.0),
QPointF(352.0, -533.0)});

qDebug()<<"test polygon "<<other.subtracted(united).empty(); --> true
qDebug()<<"test polygon "<<united.subtracted(other).empty(); --> true

多边形“ united”(蓝色的一个)大于多边形“ other”(红色的一个在蓝色的下面),而“ united”包含“ other”。 “团结”是“另一个”与第三个多边形(黄色的多边形也位于蓝色的多边形之下)之间的结合。

enter image description here

上面的代码结尾的两个减法QPolygon方法返回一个空多边形。我不明白为什么... “减法”方法可以返回错误的多边形吗?

也许我不了解减法?

有什么想法吗?

0 个答案:

没有答案