Добрый день! Есть такая задача: пользователь может строит различные фигуры (фигуры строятся по точкам). Необходимо составить алгоритм, согласно которому программа будет раскладывать получившиеся фигуры, чтобы занять как можно меньше места (алгорит может быть не самым рациональным, но сводить к прямоугольникам абсолютно все детали нельзя). Скажите пожалуйста, какой можно придумать? И если реализовывать в qt, то какие средства лучше для этого использовать?