我有两个区域(比方说两条折线)。我想找到两者之间使用C ++的交叉区域。折线定义为点列表(QVector)。你有任何线索吗?
如果我们输入两条折线,则输出应该是另一条带有交叉区域的折线。
答案 0 :(得分:3)
这应该做你想要的:
QVector<QPoint> intersection(const QVector<QPoint> &lhs,
const QVector<QPoint> &rhs) {
return QPolygon(lhs).intersected(rhs);
}
QPolygon
继承自QVector<QPoint>
,并且还有一个接受QVector<QPoint>
的构造函数。