C++ 如何在C+中找到两条多段线的相交区域+;?

C++ 如何在C+中找到两条多段线的相交区域+;?,c++,qt,qt-creator,area,C++,Qt,Qt Creator,Area,我有两个区域(假设两条多段线)。我想用C++找到两者之间的相交区域。多段线定义为点列表(QVector)。你有什么线索吗 如果我们有两条多段线作为输入,那么输出应该是另一条具有相交区域的多段线。这应该满足您的要求: QVector<QPoint> intersection(const QVector<QPoint> &lhs, const QVector<QPoint> &rhs) {

我有两个区域(假设两条多段线)。我想用C++找到两者之间的相交区域。多段线定义为点列表(QVector)。你有什么线索吗


如果我们有两条多段线作为输入,那么输出应该是另一条具有相交区域的多段线。

这应该满足您的要求:

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

    return QPolygon(lhs).intersected(rhs);
}
QVector相交(常数QVector和lhs,
常数(矢量和rhs){
返回多边形(左侧)。相交(右侧);
}

QPolygon
继承自
QVector
,并且还有一个接受
QVector
的构造函数,谢谢!我要试一试。