У меня есть две области (скажем, две полилинии). Я хочу найти пересекающуюся область между ними, используя C ++. Полилинии определяются как список точек (QVector). У вас есть какие-нибудь подсказки для этого?
Если в качестве входных данных у нас есть две полилинии, на выходе должна быть другая полилиния с пересекающейся областью.
Это должно делать то, что вы хотите:
QVector<QPoint> intersection(const QVector<QPoint> &lhs,
const QVector<QPoint> &rhs) {
return QPolygon(lhs).intersected(rhs);
}
QPolygon
наследуется от QVector<QPoint>
, а также имеет конструктор, который принимает QVector<QPoint>
,
Других решений пока нет …