Я новичок в общую библиотеку геометрии, которая предлагается для включения с усилением:Инициализация многоугольник повышения :: геометрии
http://geometrylibrary.geodan.nl/
У меня есть два вектора vector<int> Xb, Yb
что я пытаюсь создать многоугольник. Я пытаюсь получить что-то вдоль линий в следующем фрагменте кода:
polygon_2d P;
vector<double>::const_iterator xi;
vector<double>::const_iterator yi;
for (xi=Xb.begin(), yi=Yb.begin(); xi!=Xb.end(); ++xi, ++yi)
P.push_back (make<point_2d>(*xi, *yi));
Приведенный выше код не работает, жалуясь, что P
не имеет функции в push_back
члена. Как инициализировать многоугольник из точек с координатами vector<int> Xb,vector<int> Yb
?
быстрого примечания, вероятный капота, что конкретная библиотека вы упоминаете выживете процесс обзора весьма маловероятна. Ваш лучший вариант сегодня - написать легковесную C++-оболочку для библиотеки Generic Polygon Clipper, так как ни одно из предлагаемых представлений для операций двумерного многоугольника не приближается к производительности GPC. – 2009-09-17 20:12:12
Спасибо за предложение, Beh. GPC выглядит как хорошая библиотека, однако, похоже, у меня отсутствует важная для меня функция - а именно, возможность вычислить область многоугольника. – dzhelil
Dzhelil, к счастью, алгоритм области тривиально реализовать. http://alienryderflex.com/polygon_area/ –