如何在C ++中找到两条折线的交叉区域?

时间:2014-02-26 09:57:55

标签: c++ qt qt-creator area

我有两个区域(比方说两条折线)。我想找到两者之间使用C ++的交叉区域。折线定义为点列表(QVector)。你有任何线索吗?

如果我们输入两条折线,则输出应该是另一条带有交叉区域的折线。

1 个答案:

答案 0 :(得分:3)

这应该做你想要的:

QVector<QPoint> intersection(const QVector<QPoint> &lhs, 
                             const QVector<QPoint> &rhs) {

    return QPolygon(lhs).intersected(rhs);
}

QPolygon继承自QVector<QPoint>,并且还有一个接受QVector<QPoint>的构造函数。